{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "working ch1 in tf2.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "6Tmmlr92MZVj"
      },
      "source": [
        "# Probabilistic Programming and Bayesian Methods for Hackers Chapter 1\n",
        "\n",
        "<table class=\"tfo-notebook-buttons\" align=\"left\">\n",
        "  <td>\n",
        "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter1_Introduction/Ch1_Introduction_TFP.ipynb\"><img height=\"32px\" src=\"https://colab.research.google.com/img/colab_favicon.ico\" />Run in Google Colab</a>\n",
        "  </td>\n",
        "  <td>\n",
        "    <a target=\"_blank\" href=\"https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter1_Introduction/Ch1_Introduction_TFP.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a>\n",
        "  </td>\n",
        "</table>\n",
        "<br>\n",
        "<br>\n",
        "<br>\n",
        "\n",
        "Original content ([this Jupyter notebook](https://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter1_Introduction/Ch1_Introduction_PyMC2.ipynb)) created by Cam Davidson-Pilon ([`@Cmrn_DP`](https://twitter.com/Cmrn_DP))\n",
        "\n",
        "Ported to [Tensorflow Probability](https://www.tensorflow.org/probability/) by Matthew McAteer ([`@MatthewMcAteer0`](https://twitter.com/MatthewMcAteer0)) and Bryan Seybold, with help from the TFP team at  Google ([`tfprobability@tensorflow.org`](mailto:tfprobability@tensorflow.org)).\n",
        "\n",
        "Welcome to Bayesian Methods for Hackers. The full Github repository is available at [github/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers). The other chapters can be found on the project's [homepage](https://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/). We hope you enjoy the book, and we encourage any contributions!\n",
        "\n",
        "---\n",
        "### Table of Contents\n",
        "- Dependencies & Prerequisites\n",
        "- The Philosophy of Bayesian Inference\n",
        "- The Bayesian state of mind\n",
        "- Bayesian Inference in Practice\n",
        "- Are frequentist methods incorrect then?\n",
        "- Our Bayesian framework\n",
        "- Example: Mandatory coin-flip example\n",
        "- Example: Bug, or just sweet, unintended feature?\n",
        "- Probability Distributions\n",
        "  - Discrete Case\n",
        "- Continuous Case\n",
        "- But what is $\\lambda \\;$?\n",
        "  - Example: Inferring behaviour from text-message data\n",
        "- Introducing our first hammer: Tensorflow Probability\n",
        "- specify the joint log-density\n",
        "- Specify the posterior sampler\n",
        "- Execute the TF graph to sample from the posterior\n",
        "- Plot the Results\n",
        "- Interpretation\n",
        "- Exercises\n",
        "- References"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "YcJ8nEDVH30J"
      },
      "source": [
        "### Dependencies & Prerequisites\n",
        "\n",
        "<div class=\"alert alert-success\">\n",
        "    Tensorflow Probability is part of the colab default runtime, <b>so you don't need to install Tensorflow or Tensorflow Probability if you're running this in the colab</b>. \n",
        "    <br>\n",
        "    If you're running this notebook in Jupyter on your own machine (and you have already installed Tensorflow), you can use the following\n",
        "    <br>\n",
        "      <ul>\n",
        "    <li> For the most recent nightly installation: <code>pip3 install -q tfp-nightly</code></li>\n",
        "    <li> For the most recent stable TFP release: <code>pip3 install -q --upgrade tensorflow-probability</code></li>\n",
        "    <li> For the most recent stable GPU-connected version of TFP: <code>pip3 install -q --upgrade tensorflow-probability-gpu</code></li>\n",
        "    <li> For the most recent nightly GPU-connected version of TFP: <code>pip3 install -q tfp-nightly-gpu</code></li>\n",
        "    </ul>\n",
        "Again, if you are running this in a Colab, Tensorflow and TFP are already installed\n",
        "</div>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ln-qTC7S2Pm-",
        "colab_type": "code",
        "outputId": "b8a88544-23ed-4b56-d97a-553dfada639a",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        }
      },
      "source": [
        "#@title Imports and Global Variables (make sure to run this cell)  { display-mode: \"form\" }\n",
        "\n",
        "try:\n",
        "  # %tensorflow_version only exists in Colab.\n",
        "  %tensorflow_version 2.x\n",
        "except Exception:\n",
        "  pass\n",
        "\n",
        "\n",
        "from __future__ import absolute_import, division, print_function\n",
        "\n",
        "\n",
        "#@markdown This sets the warning status (default is `ignore`, since this notebook runs correctly)\n",
        "warning_status = \"ignore\" #@param [\"ignore\", \"always\", \"module\", \"once\", \"default\", \"error\"]\n",
        "import warnings\n",
        "warnings.filterwarnings(warning_status)\n",
        "with warnings.catch_warnings():\n",
        "    warnings.filterwarnings(warning_status, category=DeprecationWarning)\n",
        "    warnings.filterwarnings(warning_status, category=UserWarning)\n",
        "\n",
        "import numpy as np\n",
        "import os\n",
        "#@markdown This sets the styles of the plotting (default is styled like plots from [FiveThirtyeight.com](https://fivethirtyeight.com/)\n",
        "matplotlib_style = 'fivethirtyeight' #@param ['fivethirtyeight', 'bmh', 'ggplot', 'seaborn', 'default', 'Solarize_Light2', 'classic', 'dark_background', 'seaborn-colorblind', 'seaborn-notebook']\n",
        "import matplotlib.pyplot as plt; plt.style.use(matplotlib_style)\n",
        "import matplotlib.axes as axes;\n",
        "from matplotlib.patches import Ellipse\n",
        "#%matplotlib inline\n",
        "import seaborn as sns; sns.set_context('notebook')\n",
        "from IPython.core.pylabtools import figsize\n",
        "#@markdown This sets the resolution of the plot outputs (`retina` is the highest resolution)\n",
        "notebook_screen_res = 'retina' #@param ['retina', 'png', 'jpeg', 'svg', 'pdf']\n",
        "#%config InlineBackend.figure_format = notebook_screen_res\n",
        "\n",
        "import tensorflow as tf\n",
        "\n",
        "import tensorflow_probability as tfp\n",
        "tfd = tfp.distributions\n",
        "tfb = tfp.bijectors\n",
        "\n",
        "class _TFColor(object):\n",
        "    \"\"\"Enum of colors used in TF docs.\"\"\"\n",
        "    red = '#F15854'\n",
        "    blue = '#5DA5DA'\n",
        "    orange = '#FAA43A'\n",
        "    green = '#60BD68'\n",
        "    pink = '#F17CB0'\n",
        "    brown = '#B2912F'\n",
        "    purple = '#B276B2'\n",
        "    yellow = '#DECF3F'\n",
        "    gray = '#4D4D4D'\n",
        "    def __getitem__(self, i):\n",
        "        return [\n",
        "            self.red,\n",
        "            self.orange,\n",
        "            self.green,\n",
        "            self.blue,\n",
        "            self.pink,\n",
        "            self.brown,\n",
        "            self.purple,\n",
        "            self.yellow,\n",
        "            self.gray,\n",
        "        ][i % 9]\n",
        "TFColor = _TFColor()\n",
        "\n",
        "def session_options(enable_gpu_ram_resizing=True, enable_xla=False):\n",
        "    \"\"\"\n",
        "    Allowing the notebook to make use of GPUs if they're available.\n",
        "\n",
        "    XLA (Accelerated Linear Algebra) is a domain-specific compiler for linear\n",
        "    algebra that optimizes TensorFlow computations.\n",
        "    \"\"\"\n",
        "    config = tf.config\n",
        "    gpu_devices = config.experimental.list_physical_devices('GPU')\n",
        "    if enable_gpu_ram_resizing:\n",
        "        for device in gpu_devices:\n",
        "           tf.config.experimental.set_memory_growth(device, True)\n",
        "    if enable_xla:\n",
        "        config.optimizer.set_jit(True)\n",
        "    return config\n",
        "\n",
        "session_options(enable_gpu_ram_resizing=True, enable_xla=True)"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "TensorFlow 2.x selected.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<module 'tensorflow_core._api.v2.config' from '/usr/local/lib/python3.6/dist-packages/tensorflow_core/_api/v2/config/__init__.py'>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 1
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "dXqjzSnXRRr3"
      },
      "source": [
        "## The Philosophy of Bayesian Inference\n",
        "\n",
        ">You are a skilled programmer, but bugs still slip into your code. After a particularly difficult implementation of an algorithm, you decide to test your code on a trivial example. It passes. You test the code on a harder problem. It passes once again. And it passes the next, even more difficult, test too! You are starting to believe that there may be no bugs in this code...\n",
        "\n",
        "If you think this way, then congratulations, you already are thinking Bayesian! Bayesian inference is simply updating your beliefs after considering new evidence. A Bayesian can rarely be certain about a result, but he or she can be very confident. Just like in the example above, we can never be 100% sure that our code is bug-free unless we test it on every possible problem; something rarely possible in practice. Instead, we can test it on a large number of problems, and if it succeeds we can feel more confident about our code, but still not certain. Bayesian inference works identically: we update our beliefs about an outcome; rarely can we be absolutely sure unless we rule out all other alternatives.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "YO2eSwZQRRqv"
      },
      "source": [
        "## The Bayesian state of mind\n",
        "Bayesian inference differs from more traditional statistical inference by preserving uncertainty. At first, this sounds like a bad statistical technique. Isn't statistics all about deriving certainty from randomness? To reconcile this, we need to start thinking like Bayesians.\n",
        "\n",
        "The Bayesian world-view interprets probability as measure of believability in an event, that is, how confident we are in an event occurring. In fact, we will see in a moment that this is the natural interpretation of probability.\n",
        "\n",
        "For this to be clearer, we consider an alternative interpretation of probability: Frequentist, known as the more classical version of statistics, assume that probability is the long-run frequency of events (hence the bestowed title). For example, the probability of plane accidents under a frequentist philosophy is interpreted as the long-term frequency of plane accidents. This makes logical sense for many probabilities of events, but becomes more difficult to understand when events have no long-term frequency of occurrences. Consider: we often assign probabilities to outcomes of presidential elections, but the election itself only happens once! Frequentists get around this by invoking alternative realities and saying across all these realities, the frequency of occurrences defines the probability.\n",
        "\n",
        "Bayesians, on the other hand, have a more intuitive approach. Bayesians interpret a probability as measure of belief, or confidence, of an event occurring. Simply, a probability is a summary of an opinion. An individual who assigns a belief of 0 to an event has no confidence that the event will occur; conversely, assigning a belief of 1 implies that the individual is absolutely certain of an event occurring. Beliefs between 0 and 1 allow for weightings of other outcomes. This definition agrees with the probability of a plane accident example, for having observed the frequency of plane accidents, an individual's belief should be equal to that frequency, excluding any outside information. Similarly, under this definition of probability being equal to beliefs, it is meaningful to speak about probabilities (beliefs) of presidential election outcomes: how confident are you candidate A will win?\n",
        "\n",
        "Notice in the paragraph above, I assigned the belief (probability) measure to an individual, not to Nature. This is very interesting, as this definition leaves room for conflicting beliefs between individuals. Again, this is appropriate for what naturally occurs: different individuals have different beliefs of events occurring, because they possess different information about the world. The existence of different beliefs does not imply that anyone is wrong. Consider the following examples demonstrating the relationship between individual beliefs and probabilities:\n",
        "\n",
        "* I flip a coin, and we both guess the result. We would both agree, assuming the coin is fair, that the probability of Heads is 1/2. Assume, then, that I peek at the coin. Now I know for certain what the result is: I assign probability 1.0 to either Heads or Tails (whichever it is). Now what is your belief that the coin is Heads? My knowledge of the outcome has not changed the coin's results. Thus we assign different probabilities to the result.\n",
        "\n",
        "* Your code either has a bug in it or not, but we do not know for certain which is true, though we have a belief about the presence or absence of a bug.\n",
        "\n",
        "* A medical patient is exhibiting symptoms *x*, *y* and *z*. There are a number of diseases that could be causing all of them, but only a single disease is present. A doctor has beliefs about which disease, but a second doctor may have slightly different beliefs.\n",
        "\n",
        "This philosophy of treating beliefs as probability is natural to humans. We employ it constantly as we interact with the world and only see partial truths, but gather evidence to form beliefs. Alternatively, you have to be trained to think like a frequentist.\n",
        "\n",
        "To align ourselves with traditional probability notation, we denote our belief about event $A$ as $P(A)$. We call this quantity the prior probability.\n",
        "\n",
        "John Maynard Keynes, a great economist and thinker, said \"When the facts change, I change my mind. What do you do, sir?\" This quote reflects the way a Bayesian updates his or her beliefs after seeing evidence. Even — especially — if the evidence is counter to what was initially believed, the evidence cannot be ignored. We denote our updated belief as $P(A|X)$, interpreted as the probability of $A$ given the evidence $X$. We call the updated belief the posterior probability so as to contrast it with the prior probability. For example, consider the posterior probabilities (read: posterior beliefs) of the above examples, after observing some evidence $X$:\n",
        "\n",
        "\n",
        "1. $P(A)$: the coin has a 50 percent chance of being Heads. $P(A|X)$: You look at the coin, observe a Heads has landed, denote this information  $X$, and trivially assign probability 1.0 to Heads and 0.0 to Tails.\n",
        "\n",
        "2. $P(A)$: This big, complex code likely has a bug in it. $P(A|X)$: The code passed all $X$ tests; there still might be a bug, but its presence is less likely now.\n",
        "\n",
        "3. $P(A)$: The patient could have any number of diseases. $P(A|X)$: Performing a blood test generated evidence $X$, ruling out some of the possible diseases from consideration.\n",
        "\n",
        "It's clear that in each example we did not completely discard the prior belief after seeing new evidence $X$, but we re-weighted the prior to incorporate the new evidence (i.e. we put more weight, or confidence, on some beliefs versus others).\n",
        "\n",
        "By introducing prior uncertainty about events, we are already admitting that any guess we make is potentially very wrong. After observing data, evidence, or other information, we update our beliefs, and our guess becomes less wrong. This is the alternative side of the prediction coin, where typically we try to be more right.\n",
        "\n",
        "\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "FXUBMaYsRWvl"
      },
      "source": [
        "## Bayesian Inference in Practice\n",
        "If frequentist and Bayesian inference were programming functions, with inputs being statistical problems, then the two would be different in what they return to the user. The frequentist inference function would return a number, representing an estimate (typically a summary statistic like the sample average etc.), whereas the Bayesian function would return probabilities.\n",
        "\n",
        "For example, in our debugging problem above, calling the frequentist function with the argument \"My code passed all $X$ tests; is my code bug-free?\" would return a YES. On the other hand, asking our Bayesian function \"Often my code has bugs. My code passed all $X$ tests; is my code bug-free?\" would return something very different: probabilities of YES and NO. The function might return:\n",
        "\n",
        ">YES, with probability 0.8; NO, with probability 0.2\n",
        "\n",
        "This is very different from the answer the frequentist function returned. Notice that the Bayesian function accepted an additional argument: \"Often my code has bugs\". This parameter is the prior. By including the prior parameter, we are telling the Bayesian function to include our belief about the situation. Technically this parameter in the Bayesian function is optional, but we will see excluding it has its own consequences.\n",
        "\n",
        "### Incorporating evidence\n",
        "As we acquire more and more instances of evidence, our prior belief is washed out by the new evidence. This is to be expected. For example, if your prior belief is something ridiculous, like \"I expect the sun to explode today\", and each day you are proved wrong, you would hope that any inference would correct you, or at least align your beliefs better. Bayesian inference will correct this belief.\n",
        "\n",
        "Denote $N$ as the number of instances of evidence we possess. As we gather an infinite amount of evidence, say as $N→∞,$ our Bayesian results (often) align with frequentist results. Hence for large N, statistical inference is more or less objective. On the other hand, for small $N$, inference is much more unstable: frequentist estimates have more variance and larger confidence intervals. This is where Bayesian analysis excels. By introducing a prior, and returning probabilities (instead of a scalar estimate), we preserve the uncertainty that reflects the instability of statistical inference of a small N dataset.\n",
        "\n",
        "One may think that for large $N$, one can be indifferent between the two techniques since they offer similar inference, and might lean towards the computationally-simpler, frequentist methods. An individual in this position should consider the following quote by Andrew Gelman (2005)[[1]](#scrollTo=nDdph0r1ABCn), before making such a decision:\n",
        "\n",
        "Sample sizes are never large. If $N$, is too small to get a sufficiently-precise estimate, you need to get more data (or make more assumptions). But once $N$, is \"large enough,\" you can start subdividing the data to learn more (for example, in a public opinion poll, once you have a good estimate for the entire country, you can estimate among men and women, northerners and southerners, different age groups, etc.). $N$, is never enough because if it were \"enough\" you'd already be on to the next problem for which you need more data.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MeEvqqZ4Wy3G",
        "colab_type": "text"
      },
      "source": [
        ""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "rACyvZBVdqB9"
      },
      "source": [
        "## Are frequentist methods incorrect then?\n",
        "No.\n",
        "\n",
        "Frequentist methods are still useful or state-of-the-art in many areas. Tools such as least squares linear regression, LASSO regression, and expectation-maximization algorithms are all powerful and fast. Bayesian methods complement these techniques by solving problems that these approaches cannot, or by illuminating the underlying system with more flexible modeling.\n",
        "\n",
        "### A note on *Big Data*\n",
        "Paradoxically, big data's predictive analytic problems are actually solved by relatively simple algorithms [[2]](#scrollTo=nDdph0r1ABCn)[[3]](#scrollTo=nDdph0r1ABCn). Thus we can argue that big data's prediction difficulty does not lie in the algorithm used, but instead on the computational difficulties of storage and execution on big data. (One should also consider Gelman's quote from above and ask \"Do I really have big data?\")\n",
        "\n",
        "The much more difficult analytic problems involve medium data and, especially troublesome, really small data. Using a similar argument as Gelman's above, if big data problems are big enough to be readily solved, then we should be more interested in the not-quite-big enough datasets."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "drksp6yJW0fO",
        "colab_type": "text"
      },
      "source": [
        ""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "TTUDkI8peKw6"
      },
      "source": [
        "## Our Bayesian framework\n",
        "We are interested in beliefs, which can be interpreted as probabilities by thinking Bayesian. We have a prior belief in event A, beliefs formed by previous information, e.g., our prior belief about bugs being in our code before performing tests.\n",
        "\n",
        "Secondly, we observe our evidence. To continue our buggy-code example: if our code passes X tests, we want to update our belief to incorporate this. We call this new belief the posterior probability. Updating our belief is done via the following equation, known as Bayes' Theorem, after its discoverer Thomas Bayes:\n",
        "\n",
        "$$ P(A|X) = \\frac{P(X | A) P(A) }{P(X) } $$\n",
        "\n",
        "$$ P(A|X) \\propto{P(X | A) P(A) } $$\n",
        "\n",
        "NOTE: ($\\propto$ is \"proportional to\")\n",
        "\n",
        "\n",
        "The above formula is not unique to Bayesian inference: it is a mathematical fact with uses outside Bayesian inference. Bayesian inference merely uses it to connect prior probabilities $P(A)$ with an updated posterior probabilities $P(A|X)$."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "uDFx3Y0sXCRm",
        "colab_type": "text"
      },
      "source": [
        ""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "DkB3Ou8UjW-F"
      },
      "source": [
        "\n",
        "## Example: Mandatory coin-flip example\n",
        "Every statistics text must contain a coin-flipping example, I'll use it here to get it out of the way. Suppose, naively, that you are unsure about the probability of heads in a coin flip (spoiler alert: it's 50%). You believe there is some true underlying ratio, call it p, but have no prior opinion on what p might be.\n",
        "\n",
        "We begin to flip a coin, and record the observations: either H or T. This is our observed data. An interesting question to ask is how our inference changes as we observe more and more data? More specifically, what do our posterior probabilities look like when we have little data, versus when we have lots of data.\n",
        "\n",
        "Below we plot a sequence of updating posterior probabilities as we observe increasing amounts of data (coin flips), while also demonstrating some of the best practices when it comes to evaluating tensors and plotting the data. First, the easy part: We define the values in our Tensorflow graph"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "yFd9GboD7hVV",
        "colab": {}
      },
      "source": [
        "# Build Graph\n",
        "rv_coin_flip_prior = tfp.distributions.Bernoulli(probs=0.5, dtype=tf.int32)\n",
        "\n",
        "num_trials = tf.constant([0,1, 2, 3, 4, 5, 8, 15, 50, 500, 1000, 2000])\n",
        "\n",
        "coin_flip_data = rv_coin_flip_prior.sample(num_trials[-1])\n",
        "\n",
        "# prepend a 0 onto tally of heads and tails, for zeroth flip\n",
        "coin_flip_data = tf.pad(coin_flip_data,tf.constant([[1, 0,]]),\"CONSTANT\")\n",
        "\n",
        "# compute cumulative headcounts from 0 to 2000 flips, and then grab them at each of num_trials intervals\n",
        "cumulative_headcounts = tf.gather(tf.cumsum(coin_flip_data), num_trials)\n",
        "\n",
        "rv_observed_heads = tfp.distributions.Beta(\n",
        "    concentration1=tf.cast(1 + cumulative_headcounts, tf.float32),\n",
        "    concentration0=tf.cast(1 + num_trials - cumulative_headcounts, tf.float32))\n",
        "\n",
        "probs_of_heads = tf.linspace(start=0., stop=1., num=100, name=\"linspace\")\n",
        "observed_probs_heads = tf.transpose(rv_observed_heads.prob(probs_of_heads[:, tf.newaxis]))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "IUAm6LEA8FFW"
      },
      "source": [
        "Finally, we move onto plotting our tensors in matplotlib."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "k8c5fkkIk8qV",
        "outputId": "cedc52c8-00eb-4b1d-faf8-63bfc524180e",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 679
        }
      },
      "source": [
        "# For the already prepared, I'm using Binomial's conj. prior.\n",
        "plt.figure(figsize(16, 9))\n",
        "for i in range(len(num_trials)):\n",
        "    sx = plt.subplot(len(num_trials)/2, 2, i+1)\n",
        "    plt.xlabel(\"$p$, probability of heads\") \\\n",
        "    if i in [0, len(num_trials)-1] else None\n",
        "    plt.setp(sx.get_yticklabels(), visible=False)\n",
        "    plt.plot(probs_of_heads, observed_probs_heads[i], \n",
        "             label=\"observe %d tosses,\\n %d heads\" % (num_trials[i], cumulative_headcounts[i]))\n",
        "    plt.fill_between(probs_of_heads, 0, observed_probs_heads[i], \n",
        "                     color=TFColor[3], alpha=0.4)\n",
        "    plt.vlines(0.5, 0, 4, color=\"k\", linestyles=\"--\", lw=1)\n",
        "    leg = plt.legend()\n",
        "    leg.get_frame().set_alpha(0.4)\n",
        "    plt.autoscale(tight=True)\n",
        "\n",
        "\n",
        "plt.suptitle(\"Bayesian updating of posterior probabilities\", y=1.02,\n",
        "             fontsize=14)\n",
        "plt.tight_layout()"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nUhgyZAjvvfee9X/WUvSlpaXx888/8+WXX7Jq1SrWr1/P559/buuw5Ca+/PJLatWqRXR0NIcPH2bH\njh1ajSFipzTHsQ+a49gnzXHsj+Y4jueWCR1/f39+//130tLSgPQP7vnz5wkICMjWLiAggLNnz1pv\nnzt3LkcbKRx57TOAH374gYEDBzJ//nyqVq1a2KFKhrz02YULFzh58iTdunWjTp06zJo1i3nz5vHS\nSy/ZKuxiLa+fs3LlytG5c2dcXV3x8vKiffv27Nu3zxYhF3t57bMPPviA7t27YzQaKVmyJO3btycq\nKsoWIUsB0xzH/miOY380x7E/muPYH81xiq9bJnRKly5NnTp1WLp0KQBLly6lbt263Hfffdnade7c\nmblz52I2m/nzzz9ZtWoVnTp1Kpio5aby2mf79u2jX79+zJ07l/r169siVMmQlz4rV64cJ06c4ODB\ngxw8eJDw8HCefvpppk2bZquwi7W8fs66du3Kpk2bsFgspKSksGXLFms9Bylcee2zwMBA1q9fD0By\ncjKbN2+mRo0ahR6vFDzNceyP5jj2R3Mc+6M5jv3RHKf4MsTExNxyo+Ovv/5KeHg4MTEx+Pj4MHv2\nbKpWrUq3bt147bXXaNCgAWlpaQwfPpyNGzcCMGTIEJ599tmCjl9uIC999tBDD3HmzJlshbDmzJlD\nrVq1bBh58ZWXPstq/PjxxMfH89Zbb9koYslLn5nNZkaPHs369esxGo20bt2at956C6NRO15tIS99\ndvLkSYYOHcoff/xBWloazZs3Z8KECTg5Odk6fCkAmuPYH81x7I/mOPZHcxz7ozlO8ZSnhI6IiIiI\niIiIiBQdSp+KiIiIiIiIiNgZJXREREREREREROyMEjoiIiIiIiIiInZGCR0RERERERERETujhI6I\niIiIiIiIiJ1RQkdERERERERExM4ooSMiIiIiIiIiYmeU0BEphurUqcPmzZvv+nODg4OJiorKte31\njxWUo0ePEhoaSkBAALNnz87x+J289/wKDw/nrbfeKpTXEhERERGR4sXJ1gGIiOPYtWtXnh6rU6cO\n06dPp1WrVnc9hmnTptG8eXO2bdt2148tIiIiIiJSVGiFjogDSU1NtXUINnf27Flq1Khh6zBERERE\nREQKlBI6IoXkiy++oG3btvTt25egoCBq1arFunXr8vTcOnXqMHXqVJo0aUL58uWJiIggMTHR+lhk\nZCQhISGULVuW1NRUoqOj6dChA4GBgQQHB/Ptt9/mOOa+fftyPd57771H/fr1CQgIoEmTJnz99dd5\nfu7NtjNlPjZgwADOnTtHz5498ff3Z9q0afz3v/+lT58+2dq/+uqrjBgxItdj3ej9dezYkaioKIYP\nH46/vz/Hjh3L9fkHDx4kJCSEwMBA+vbta40f4Pz58/Tp04fKlStTt27dbNu2bnVuDhw4QIsWLQgI\nCKBv374kJSVZH4uMjKRGjRoEBATw4IMPsmXLllxjExERERERyQsldEQKyeHDhzl48CCPP/44R44c\nYdCgQQwdOjTPz1+yZAnLli1j//79HD9+nMmTJ1sfW7p0KV988QWnT5/GYrHQs2dPWrduzbFjx5g4\ncSIDBgzg6NGjeTpexYoVWb16NWfOnGHEiBEMHDiQCxcu5DmWW/nggw8ICAjg888/57fffuOll16i\ne/fubNiwgZiYGCB9pdHy5cvp1atXjuenpKTc8P19/fXXNG3alEmTJvHbb79RpUqVXGNYsWIFy5Yt\n48CBAxw6dIiFCxcCYDab6dmzJ7Vr1+bIkSN89dVXzJo1iw0bNtzy3CQnJ/Pkk0/So0cPTp48yWOP\nPcZXX30FpNf1+fDDD9m4cSPnzp1j2bJlBAYG5vmciYiIiIiIXE8JHZFCcvjwYSIiIujUqRNGo5Ge\nPXty7ty5bKtDbua5554jICCAUqVK8corr7B06VLrYwMHDiQgIAB3d3d2795NfHw8Q4cOxcXFhZYt\nW/LII49ka3+z4z322GP4+flhNBrp0qULlSpVYu/evXmO5XaUKVOGkJAQVq5cCcD69eu59957qV+/\nfo62eX1/NzNw4ED8/PwoVaoU7dq14+DBg0D6yqO//vqLESNG4OLiQoUKFXjmmWdYtmwZcPNzs3v3\nblJTU4mIiMDZ2ZnOnTvzwAMPAGAymUhKSiI6OpqUlBTKly9PxYoV7+iciYiIiIhI8aaEjkghOXz4\nMJ06dbLevnTpEiVKlMDNzS1Pz/f397f+Xq5cuWyrZgICAqy/X7hwAX9/f4xGY7b258+fz9PxFi1a\nRGhoKIGBgQQGBnLkyBH++uuvPMdyu3r16sXixYuB9O1pPXr0yLVdXt/fzfj6+lp/d3d3Jz4+Hkiv\nv3P+/Hnrew8MDGTq1KlcunQJuPm5uXDhAn5+fhgMhmxxAVSqVInx48czYcIEqlSpQr9+/fIVr4iI\niIiIyPWU0BEpBDExMZw7d4777rvPet/KlSt5+OGH83yM3377zfr7uXPnKFOmjPV21iRCmTJl+O23\n3zCbzdna+/n53fJ4Z86c4aWXXmLSpEmcPHmSM2fO5Fpg+Gax5EXWeDN16NCBQ4cOcfjwYdauXUu3\nbt1yfW5e39/t8Pf3p3z58pw5c8b6c+7cOZYsWXLLc+Pr68v58+exWCzZ4srUrVs31qxZw8GDBzEY\nDIwbN+6O4xURERERkeJLCR2RQnD48GFMJhNLly4lNTWVtWvX8vHHHzNy5EgAwsPDCQ8Pv+kxPvro\nI3777Tf++ecfpkyZQpcuXXJt9+CDD+Lu7s60adNISUkhKiqKNWvW8MQTT9zyeAkJCRgMBmviaf78\n+Rw5cuS2Y7mR+++/n1OnTmW7z83Njc6dO9O/f38eeOAB6+qW231/t6Nhw4aUKFGCyMhIrl69Slpa\nGocPH2bfvn23PDeNGzfGycmJ2bNnk5KSwldffWXdjnX06FG2bNlCUlISbm5uuLm5ZVthJCIiIiIi\nkl/6RiFSCA4fPky3bt344YcfqFChAuPHj2fBggVUr14dSF/xEhwcfNNjdO3alS5dulCvXj0qVKjA\nsGHDcm3n4uLC559/zrp166hcuTLDhg1j1qxZVKtW7ZbHq169OoMHD6Zt27ZUrVqVw4cP06RJk9uO\n5UaGDh3K5MmTCQwMZPr06db7e/XqxeHDh2+43So/7+92mEwmFi9ezMGDB6lXrx6VKlXixRdf5MqV\nK7c8Ny4uLnz22WcsXLiQihUrsmLFCjp27AhAUlISb775JpUrV6ZatWr8+eefWqEjIiIiIiJ3xBAT\nE2O5dTMRuRMvv/wylStX5vnnn8/xWHJyMqGhoWzfvh1nZ+dcn1+nTh2mT59Oq1atCjhS2zp79iyN\nGzcmOjoab29vW4cjIiIiIiJSZGmFjkghOHz4MEFBQbk+5uLiwg8//HDDZE5xYTabef/99+nSpYuS\nOSIiIiIiIrfgZOsARIqDw4cPU7VqVVuHUWTFx8dTrVo1ypUrd8eXQBcRERERESkOtOVKRERERERE\nRMTOaMuViIiIiIiIiIidUUJHRERERERERMTOKKEjIiIiIiIiImJnlNAREREREREREbEzSuiIiIiI\niIiIiNgZJXREREREREREROyMEjoiIiIiIiIiInZGCR0RERERERERETujhI6IiIiIiIiIiJ1RQkdE\nRERERERExM4ooSMiIiIiIiIiYmeU0BERERERERERsTNK6IiIiIiIiIiI2BmnvDaMiYnh8uXLOe6/\n55578PLyuqtBiYiIiBQWzXFERETEHuU5oTNr1iwmTpyY7b7g4GDWrFlz14MSERERKSya44iIiIg9\nMsTExFjy0jC3f70ymUwEBAQUSGBScE6ePEnFihVtHYbkg6P2WZs2bdiwYYOtwygQjtpnjkx9Vnxp\njuM49Dm2P47cZ446z3HkPnNU6jPbSzVb+PnvZLZfTGb7+SR+/icVgA7lXBkfXOq2j5vnFTo+Pj74\n+Pjc9gtJ0ZGammrrECSfHLXP9u7da+sQCoyj9pkjU58VX5rjOA59ju2PI/eZo85zHLnPHJX6zDZO\nx6ay6fckNv6WyJbzSVxOtmAEqnqbaOjjRF0fE0El85ySydWdPVtEREREREREpJi7nGxm2/kkNv+e\nxMbfEzl+JQ2A+1yN1Pdxok5JJ+qUcuJ+DydcTAYAklPNd/SaSuiIiM3Uq1fP1iGIiIiIFAjNc0Qc\nW4rZwp5LyWz6PYnNvyWx989k0izgZoIa3k48VcGNOj5OVPIy4eZsxGgw3PUYCiShY7FYSEpKIjk5\nGYslTyV6pBA5OTnlejWPwmIymfDw8MBoNNosBikatmzZYusQRETyzWw2k5CQQFpamq1DkevYeo5j\nMBhwcXHB1dUVQwFM3MW+aJ4j4ljMFguH/klly++JbD2fxPYLycSnpm+jquxlooO/K7W9najh44S3\nqxEnY8H/HSiQhE5CQgIGg4ESJUpgMBj0B62ISUxMpGTJkjZ5bYvFQnJyMgkJCZQoUcImMUjR8dJL\nLzFt2jRbhyEiki8JCQk4Ozvj6empOU4RY+s5jsViITExkYSEBDw9PW0ShxQdmueI2DeLxcLJ2DS2\nnk+y/vyZmL5Fyt/DSPC9ztTycaK2jxOl3U3WbVSFqUASOqmpqXh7e2uSIzlk/stVYmKirUORImDu\n3Lma6IiI3UlLS1MyR3LI/EdMd3d3rly5YutwpAjQPEfE/vwWn0ZUlgTOufj01bj3uBioUdKJx/1d\nqe3jRICnCVcn2y9eKbAaOrZ+Y1J0aWyIiIi9098yuRGNDRER+/F7fBrbLiSx7UISUeeTOBmbnsDx\ndjZQ3dtEm/vdqOXjRIUSJtwLqA7OnVBRZBERERERERFxeOfiUtl+MZntF5LYfiHJeiWqEk4GgrxN\nhFRwo4a3E1W8TXg4GzEVQh2cO1HsEzpRUVGMGTOGzZs32zqUGzp27BhDhgzh4sWLODk50aBBA6ZM\nmYK7u3uOtgsWLKBJkyZUqVLFBpGK5M+RI0dsHYKIiMOyhzmO2WzmkUceISEhAYAyZcowdepUypcv\nn6PtN998g5+fHw0bB8nceAAAIABJREFUNizsMEVui+Y5IrZlsVg4HZeWkbxJT+KcjruWwKnmZaJ3\n+YwETkkTnnaQwLlesU/oFKTU1FScnO78FDs7O/P2229Tr149zGYz//73v5k+fTqvvvpqjrYLFy7k\n3nvvVUJH7ML+/fvx8/OzdRgiIpJPd2uOYzQaWbp0qbWQ8axZs3j99deZP39+jrarVq2iQYMGSuiI\n3dA8R6RwmS0WfolJZefFJHZkJHAuXE0vYuzlbCDIy0Roxgqcyt72mcC5XrG5bvT69etp3rw5ISEh\ndOrUiRMnTlgfS0lJYeDAgQQHB9O6dWt++eUXAI4ePUrbtm1p1qwZTZs2Zfr06QAkJyczZswYWrdu\nTbNmzRgwYABxcXEAhIeH88ILLxAWFkarVq2YNGkSo0aNsr7W33//TaVKlYiPj7/pcbIqX7489erV\nA9InPg888ABnz57N0W7+/Pns37+fESNGEBoayubNm0lLS2P06NE0bdqUpk2bMnr0aOtlVj/99FMa\nN25MaGgoISEh/Prrr5jNZl555RUaNWpEs2bNeOSRR6zH/+6773jkkUdo2bIlbdu2Zffu3Tc9TyK3\n0qtXL1uHICJFlMVi4Y+rafx4KcnWoRR59jzHAbJdlSo2NhajMef0dMOGDaxevZrIyEhCQ0NZtGgR\nAJGRkdY5TkREBPHx8UB68ickJITQ0FCaNm1KVFQUABMmTKBRo0aEhobSvHlzYmJiANizZw+PPvoo\nLVu2pGXLlqxduxaAS5cu0blzZ0JCQggJCcn2fkVuRfMckYKVlGbh+4tJTDsYS4/1f1Fp4XlCvvyD\nV3ZeZvPviVT0NPFsRTfG1y/Bh028GVvPi96VPWhQ2gVvV5PdJ3OgmKzQuXTpEgMHDmTVqlVUr16d\nefPm8dxzz7FhwwYADh06xMSJE5kzZw4LFy5k0KBBbN68mY8++oiwsDBefvllAOsf/WnTpuHt7c3G\njRsBGDduHO+99x5jxowB4ODBg6xatQpPT0/Onj3Lww8/zH/+8x+cnJxYsmQJYWFheHp6MmnSpJse\nJzdXr15lwYIFjB07NsdjTz31FIsWLeKFF16gXbt2AHz88cccPHiQLVu2ANC1a1cWL17M0KFDGTt2\nLD/88ANlypQhKSmJtLQ0Dh48SFRUFN9//z1Go9H6nk+ePMmkSZNYtmwZ3t7eHDlyhG7duvHzzz/f\n8DyJiIjcjMVi4cJVMyeupHLiSionY1M5cSWN41dSOHEljfhUC4ElTPzUrYytQy2yHGWO061bNw4c\nOMC9997L8uXLczzepk0bwsLCaNCgAQMGDABg3bp1LF68mLVr1+Ll5cWgQYOYOXMmkydP5p133iEy\nMpLGjRuTlpZGfHw8//zzDzNnziQ6Ohp3d3diY2Nxd3cnJiaG/2fvzuOjqu++/7/OObNlD2QDWQQU\nFVCK2FB2lEUUrbRWqdVW0S6Kyy3c2vbSG5SrtSgul9haLd5ej6v6KKKiP/W6S1XqguhFUSsuSFHB\nhE0gIYSsk8nMnDm/P85kSFiDJplM8n4+HvOY7WTmO/NNOB/e53u+33nz5rFixQp69erFnj17mDx5\nMmvXruXZZ59l4MCBvPTSSy2+JxER6Xj7G2O8W97Iu2Vh1pWH+bAiTMgdq0CfdJNv5Xo4JcvDkBwP\n/TJMAp1wEuO21i0CnX/+85+cfvrpnHbaaYAbfNx6663U1tYCMGjQIMaPHw/AZZddxty5c6mpqWHs\n2LHceeedBINBJkyYwMSJEwF4+eWXqa2tTezcw+Ewp59+euL9Zs6cSUZGBgD9+vXjtNNOY9WqVcyY\nMYOnnnqKRYsWtep1DhaNRrnmmmuYMGECM2bMaNVnX716NZdffjk+nw+AK664gueff5558+YxYcIE\n5syZw3nnncf06dMZMGAAAwYMIBKJcOONNzJx4sREMPT6669TWlra4n2j0Sjl5eVH/J5ERETsmMPO\neput8bDGDW2ilNRGKa2xabCdxLaWAUUBk0K/ybgCL70CJqdkd4tS5WvrKjXOihUriMVi/Md//Af3\n338/DzzwwDE/++rVq7n44ovJzs4GYPbs2dx6660ATJw4kdtvv52LLrqIqVOnMnToUGzbZtCgQVx3\n3XVMnjyZ6dOnk5WVxXvvvce2bdu45JJLEq9tGAalpaUUFxfz6KOPsmDBAsaNG8eUKVOO2S4REfnm\nHMdhS02U98rDvFseZl1ZmC+qo4BbLwzKtDi70MepWR5OzbEoSrfwW8lfRryjqUo6ipkzZzJq1Cje\neOMNlixZwrJly3jsscdwHIf777+fSZMmHfbnmgqdJpdffjnLly/nxBNPTBRRwDFfpznbtvn5z39O\nbm4u99577zf/cLinaK1fv541a9Zw4YUX8uCDDzJt2jTWrVvHO++8w+rVq1m4cCFvvfUWjuMwZcoU\nli5desjrHOl7EjmWJUuWJLsJItIGQlGHbXXuCJvSeGhTGg9tdtTZhGMHtvWabmhT4DeZVOilKGBS\nFDDpnWZRlG4SsEy8Fokjan6rexVmHaUz1ThNTNPkJz/5CWeddVarAp2jufvuu9m4cSNr1qxh9uzZ\n3HDDDVx11VW89tprrFu3jjVr1nD22Wfz3HPP4TgOw4YN4+WXXz7sa61Zs4Y333yTZ555hiVLlvDK\nK698o7ZJ96E6R6T16iIx1ldEeL88zHt7w7xfHqay0S0gMj0GJ2dZXNrPz+Asi1NyvOT4TXyqEbpH\noFNcXMyNN97IF198wSmnnMJTTz3F8OHDycrKAtzTidauXcvYsWNZsWIFQ4cOJTs7m5KSEgYMGMAV\nV1zBSSedxA033ADA+eefzyOPPMKoUaMSQ3Z37drFqaeeetj3/+53v8vtt9/Oww8/zOWXX55IDVv7\nOrFYjDlz5mBZFg8//PBRU8esrCxqamoS988++2yWL1/OxRdfDMDy5cs5++yziUaj7Nixg7POOouz\nzjqL0tJSPvnkE84880w8Hg9Tpkzh7LPP5tVXX2Xr1q1MnjyZxYsXs2nTJoYMGQLA+vXrGTly5BG/\npw8++IB///d/57//+7+/TrdJNzB79uxkN0FEWsFxHPY3xtha64Y1TddNwc3uYAyn2fbpFhSlWRT4\nDYb09ruhjd+kV7pJYcDE7zHxmHT5YdAdIdVrnIqKCgzDIC8vD4AXX3yRoUOHHva9Dlfj3HnnnVx3\n3XVkZmby5JNPJgKlzZs3M2zYMIYNG0Z9fT3r16/n4osvpr6+nvHjxzN+/Hjef/99Nm3axLRp0ygp\nKWHNmjWJkUrr16/nzDPPZNu2bfTp04cf/OAHjBkzhpEjRxKLxdizZw8zZ85MzCcocjiqc0QOL+Y4\nfFkT5f3yMO/Hw5t/VUWJxYuJvukmp2dbDM7yc0qWxYlZqbGEeDJ0i0AnPz+fpUuX8rOf/YxoNEp+\nfn6LESRDhw7lySef5JZbbiEtLY0//elPALzwwgusWLECr9eLYRjcc889AMybN4977rmHyZMnYxju\nsK5f//rXRyx20tPTmTFjBsuWLePjjz9OPN7a1/n73//Os88+y9ChQxNHukaPHs39999/yHvNnj2b\n+fPn8/vf/5677rqL2bNnU1JSkihQJk+ezKxZs7Btm+uvv57q6moMw6Bv374sXLiQ7du3c/PNNxON\nRrFtm6lTp1JcXIxpmjz22GPcdNNNNDQ0EIlE+M53vsPIkSOP+D3t2LHjsEurizTJzc3VfAQinUQk\n5rCzzj016kBwc+B2bcRpsX0Pn0FhwGRQhsWYPC+FATes6Z1m0tNv4rPc0Ka7DX3uaKle45SVlXH9\n9dcTiUQA6N+//xFH+V522WVcf/31vPjii9xwww386Ec/YuPGjZx77rkAjBgxgjlz5gCwcOFCSkpK\nsCyLnJwcHn74YWpqarjyyitpaGjAcRyGDx/Od7/7XQKBAMuXL2fBggXcdtttRCIRBgwYwNNPP807\n77zDI488gmmaiVPCTNNkz549bbLKl3RtqnNEXPtCNv/cG+Gfe8N8sDfMBxVhqsNuXZHuMTgp0+Ki\nPn5OzrQ4JdsiP83C1w1Pn/o6jKqqKufYmx2f6urqFisWSOdSVlZGUVFRu7/Pr371K77//e8zZsyY\nQ57T78jx2bx5M4MHD052M9pcVy50umqfdWVdvc8cx2FffJTNtnhQs63Ovd5aG2VnvZ04MgbgNaAw\nYJLnd4OaprltCgImJ6RbZPkMvKbR7kfL/JbBt/sE2vU9jpf2YZ1XR9U4Dz/8MAUFBfzwhz887PP6\nHWm9rvxvb1etc7pyn3VVHdlnwWiMT/ZF+KAiwvp4eLO11p252AT6Z5gMzLQYlOFhcJbFgG4++iYc\njXHOoIxjb3gEHXZo4YKX97bL6648v6BdXle+ubaa60dERFqnLhJjWzyoaX69tTbKtjqbYLTlMZxc\nn0Gh36RPwOTMXI8b2PhNeqe7wY1OjWod1Tjdz4033pjsJoiIJF0k5rCxMsJH+yKsrwizfm+YTVVR\nmtY7KAiYDEg3GX1igEEZJoNzvOT6TbwawdtmNFZURJJm+vTpyW6CSEoJRR121LshzfY6d6TN9roD\nwc2+xliL7QOWO8om32cyocA9LSo/Hto0jbLxmO5FRETaluoc6UqiMYfPqqJ8tC/MRxURPqwI82ll\nhKbSI9NjMDDT4sI+fgZlWpycZVGUZuH3GDow1I46LNDpTEeZnnjiiRarNd18882HHTK7bds2zjnn\nHEpKStqtLXfffTf19fXcdddd7fYeIp3VM888k+wmiHQqjbY7j832Ojeo2V7njqzZHh9tU9bQMrDx\nGu7Rr54+k+G5Hgr8BgUBkwKfO8qmh+ay6RCdqcZ57bXXuPPOOzEMg2g0ygUXXMD8+fMP2/+5ubns\n3LmTzMzMdmnLsmXLePXVV3nyySfb5fVFOjvVOZKqwrbDZ1URPt4X4ZN9ET7aF2ZDZYSQe+YU6ZbB\ngAyTKb18DMq0GJTpoW+GScDTfU+dSpZuOUJn0KBBrFy5kh49evDVV18xYcIERo8ezYknnpjspol0\nKz/84Q9V7Ei30hB12BEPa3bEA5sd9UcObEwDCvzuqJpTMy3G53sT93ulmeTrtCg5yOjRo1mzZg2W\nZRGJRJg+fTpnnXUWM2bMSHbTRLod1TmSCoLRGBsro3xSGeaTfW6I86/9EcLxkqQpvDmn0MfATIsB\nmRb9MyzSvKZG+HYC3TLQmTBhQuJ2nz596NWrF7t27TpioPPb3/6WVatW0dDQwB/+8IfEJL+rVq3i\ngQceIBQK4fP5WLRoEcXFxZSVlfHTn/6U2tpaGhsbOffcc/nNb34DuJPk3XTTTWzatInCwkL69OlD\nYWEhACtXruR3v/sdpmli2zb33ntvi7aKdDWvvvpqspsg0mYcx6E67LghTZ3Nzno7Hty493fU21SE\nWgY2HgPy/e6qUE2BTdMpUQVp8SW+4yNsdMRLWqP5aJtQKEQ4HMY0zSNuv3TpUv76179SWVnJb37z\nG2bOnAnAP//5TxYuXEhtbS0At99+O9OnTycajTJr1iwqKysJhUKMHDmSJUuW4PP5CIfD/OpXv2LN\nmjXk5eUxfPjwxPu8++67/PKXvyQWixGNRrn11lu55JJL2ulbEOkcVOdIZ7O3webTyggbKiN8UumO\nvtlSc2C58EyPwYAMi2m93PDmxAyLfgpvOrVuGeg09/bbb1NdXc2IESMO+3xlZSXFxcUsWLCAZ599\nloULF/Lqq69SWlrKfffdx/PPP092djabNm3i0ksv5dNPPyUnJ4enn36azMxMIpEIF198Ma+99hpT\np07l3nvvJSsri/fff599+/YxadIkvve97wGwaNEilixZwqhRo7Btm/r6+o78KkRE5CjsmMOehhg7\n6twVoZpCm6YRNzvrbeoOWtrbZ7ojbHr6TU7PsSgo9JLnc0fYFKW5Ew/7LBOvpRE20nY+/PBDbrjh\nBkpKSrjmmmuOOo9HVlYWb775JuvWrePqq69m5syZVFVVMW/ePFasWEGvXr3Ys2cPkydPZu3ateTk\n5PD444/Ts2dPHMfhuuuu4y9/+QvXXHMN//Vf/8W2bdt49913iUQizJgxg/79+wOwZMkS/tf/+l9c\ncsklbvhZXd1RX4eISLcTjTl8WRNlY2WET/dHWLfDz5cf7G4xEjjfb9A/3V0u/MQMi4EZFifotKmU\n0+pAp6qq6pCdr2VZ9O3bt80b1VE+++wz5syZw+OPP05aWtpht8nMzOS8884DoLi4mPnz5wPw+uuv\nU1pa2mIIczQapby8nIyMDO644w7effddHMehvLycDRs2MHXqVN5+++3E6k95eXlceOGFiZ+fOHEi\nt99+OxdddBFTp05l6NCh7fXRRUTkIHVR2FgZYWe9zVf1Njvro+yMj6zZWWezK2gnVm1okuUxyPOb\n9PQZjM1zR9fk+U3y/QZFAZOeAROvpVOiOruuVuOceeaZrF27ln379vGTn/yEtWvXMm7cuMNu+4Mf\n/ABwa5zdu3cTCoV477332LZtW4sRNIZhUFpayvDhw/nDH/7A3//+d2KxGFVVVaSnpwPuQbIf/ehH\neL1evF4vs2bNYt26dYA7Ovr++++ntLSUc845h29/+9vt/C2IiHQPFSGbjZVR/rXfDW82Vkb4rOrA\nfDeWAb19JidnWUwp8tE/3WRApkVBwMKnCYtTXqsDnUcffZTFixe3eKx///588sknlJaWEo1GD7yo\nx0MoFGq7VraDrVu3cs0113DnnXcyaNAgysrKDtmmoqICj8eTeK6yspJwOExZWRk1NTWMGzfukKW5\nHcdh8eLF7Nmzh+XLl+P3+1mwYAH79u2jrKyMaDRKZWVl4jWDwWDiPebOncvnn3/OunXr+PGPf8zV\nV1/NrFmz2uXzH+7zdqRgMEh5eXlS25BqNm/enOwmtLn333+/S36uJl35s6WakA3lYYOyRveyp9Gg\nrNGkLHzgftBOBw78u2Th0MMLuV7o5XEY0hN6eKCH16GHxyHfCxkeB8twi6UW9ZADNEB9Q0d/0q4n\n3eeBPu0brBxPjQOpUec0GTNmDMuXL+fkk08+7PPV1dUtPt+uXbvYv38/p5xyCsuWLTtk+8cff5w1\na9bwxBNPkJmZyZ/+9Ce2bt1KWVkZjY2NVFdXJ2qMplPPy8rK+MEPfkBxcTFr165l3rx5jBs3jnnz\n5rXLZ052jQOqc45XV91fduU6p6t+rs4sZENJ0OTLoMGWepMvgyab600qIwcKkCzL4YSAw5gc6OOD\n3gGHPj6HdI+Dx4geqFWCUBNMzueQg1geIONr/3irA505c+Zw+eWXt3xvywJg4MCBLR6vrq4mJyfn\nazeqvW3dupVf/OIX3HfffUedJDAUCmGaJkVFRYfcnzlzJo888giVlZUMGTIEgPXr1zNy5Ehs2+bE\nE0+kf//+7Nq1izfffJNrrrmGoqIiJk+ezMsvv8yMGTOorKzkjTfe4Hvf+x5FRUVs3ryZiRMnMnHi\nREzTZMuWLYn3bktlZWXt8rrHo7P/jnQ2mzdvZvDgwcluRpv785//zOzZs5PdjHbRVfusM2q0HXYH\n3VOedsVH1+yqtxMjbb6qP3Q5b4Bcr0FPv0kPv8HJOSbp0RD9emTS02dQGDDJCxxYIUpDj5PHb7X/\nd388NQ507n3Yli1bGDRoEKZpUl9fzz/+8Q9mzZp1xP1+YWFhi3l3CgsLmT59OnfccQeff/45EydO\nBNwa58wzzwSgV69enHTSSVRXV/PKK68wYsQIioqKmDZtGq+88gpXX301kUiEV199lb59+1JUVMSW\nLVsoLi6muLiY3r17s3z58i5b40Dn/h3pbLry/rKr1jlduc86g0bbYUt1lM+qImyqirJpf4RN+yOU\n1to0DRT2mdA33WJorkn/dIu+6SYnZrrLhPss45C6pbysjMJO8G+jHCocPbRGPR6tDnRyc3PJzc39\nRm/WWdx5553s37+fRYsWsWjRIgD+/d//nSlTprT6NU466SQee+wxbrrpJhoaGohEInznO99h5MiR\nXHvttcyePZsxY8ZwwgknMGnSpMTP/fKXv+TGG2+kuLiYwsJCxo4dm3hu4cKFlJSUYFkWOTk5PPzw\nw233oUU6oblz53bJQkfaTkPUDWu+qndPedrVLKzZFX/84ImGwZ3Ur6ffoIfXZHiOhzy/G9709JkU\n+A0K0y3SPQYe04iPrjEoL6unsCiQhE8pydaVapy//e1vPPXUU1iWRSwW44ILLuDKK688rtfIzc1l\n+fLlLFiwgNtuu41IJMKAAQN4+umnueyyy/jb3/5GcXEx+fn5jBkzhoYGdyja7Nmz2bhxI6NGjSIv\nL4+RI0cmRqksXbqUt99+G6/Xi9/vP2SEs0hXpDpHjiYUddhSE+XzqgifVbkBzmf7o5TURhOneJsG\nnJBmckKaxYh+HvrGw5u+GRbp8VUuDZ0y1a0ZVVVVzrE3Oz46KtG5dYajV/odOT5d9UhIbm4uVVVV\nyW5Gu+iqfdZWHMehKuyGNbuahTUH398fPnQX1Tys6ek36Ol1Jx3u6TfI85kUpllket2w5ngKHR29\n6pz8lsG3+3SuoE37sM6rM9Q4oN+R49GV95ddtc7pyn3WHmrCMb6ojvJFVYQvqqN8XhXli2p3xE3T\n6lIm0CvNpHeaSZ90i75pJn3SLPpnWmR4TXzWNwtuVON0XuFojHMGdcApVyIiIq0Rjp8CdeASS9xu\nCm12B+3EZH3N5XoNevhNcr0GI3t43cDGZ9LDZ5LnNygIfL2wRkRERKS9xByHr+ptNldHE5emEGdP\ns5WlPAb0jgc3w/v46RMffdM30yLTq1Uv5fgp0BGRpFm+fHmymyDHIRpz2BuKsSdoxy8xdjfY7K53\n7zeFN4ebr8ZrQp7PJNdnUOQzGZJl0cNn0iMe4OT53SW8AwedBiUiIpKqVOd0PVWNMbbURNlSHT1w\nXR3hyxqbhmZLYWZ4DE5IMzk502JSgS8+8sakT4ZFmsfEq4NS0kYU6IhI0owYMSLZTRDcoKa8IUZZ\ngxvMlDW4I2rKgja7Gw4EOHtDscTQ4CYGkOsz6OEzyfEafCvXQ4/4/R7xSYfzAm6Q47VMd0UoTTAs\nIiLdgOqc1FQbiVFSE6W0xmZLTZQva6J8We1eNz9oZRpQFDApCphMKvRyQppFr4BJvwy39vF7TDyq\neaSdtVug4ziOUkc5LMdp82mbJEUNGTKkS55b3lk0RB3KGtxgZk9DjLKg7YY2zW7vDsbYF4pxuL/K\nXK9BbjyoOTXLYkyelx7xx3J9BnnxsMYfX01Bo2qkO1GdI0eiOkeaqM7pvKoaY5TWRimtiVJSa1Na\nG6UkPuJm70GLLfT0GfQKWJyRa9E74KNXID7XTdNoG50mJUnULoGOx+MhGAySlpaGYRgqeCTBcRzC\n4XBiOVgROT52zKEi5I6maRpVc/B1WdC9ro0c+p8K02gZ1JyRbZGb723xWF7AnWRYpz+JHJ5lWYTD\nYXw+n/42JMFxHBzHoaGhAY9Hg+BFksmOOewK2myNhzXbaqOU1tpsjQc3VQctutDTZ1AUcE8JP6fQ\nS6+ARWHAXU0qy2fgNQ9dClykM2iXvU16ejqNjY3U19cTi32zddWl7QWDQaqrq5P2/pZlkZ6enrT3\nF+ls7JjDvsYY5Q0x9jbYlIdilMcDmvIGm71NQU3DkUfTpFkcCGS8JoMyWoY0OT6TPJ87X41PI2pE\nvpH09HSCwSChUCjZTZGDJLvGMU0zsTS7iLQfx3Frp+21NtvqomyLX2+ttdlWG2VHvU2k2X9DTQMK\n/Sb5fpORPbyJU6UKAyYnpCu0kdTVLoGOYRgEAgECgc61zKi4ysvLtZSmdApXXXVVspvQbhpjsKMu\nSkUoHtSE3GDmwPWB0Kay8dC5aQB8phvSZHsMsr0GZ+R4yMkzyPEZicd7xkfTZHgOhDQqRkTal2ma\nZGZmJrsZchiqcaQz6cp1TntzHHchhh11NtvrouyosxO3t9XZbK+zCUZbFk/ZXoMCv0mB32RotocC\nv0FhwKRXmkVRmknA0ulR0vVoPKiIJM1DDz2U7Ca0WjTmsC8UoyJxcScJrmhodjse0lSEYtRG0oGy\nQ14nYEGO1yTLa5DtMTgj2xMfQWOQ4zXJ9hrk+gx6+i0yvSQmEjY1mkZERCSlpFKd09FCUfeUqB11\nNjvro+yst9lZZ7Oj3mZHXZSv6m1CdsufyfQY5PsN8nwmEwu8FATcETf5fnfp7yyfgdfSCGTpXhTo\niEjSTJo0ibfeeisp7x223blo9jXG2BeymwU1h96vaLDZHz78JJcm7hGhbK9BpsddkntwpoUvEqIo\nJyMxuqaH36THQSNpFNKIiIh0Xcmsc5IpbDvsDtrsCtp8VW+zq95mZ717+6v47YrQodNy9PAZ5PtN\n8nwmpxRZFPhN8n3uAgy90ixyfO7cfh4t+S2SoEBHRJLm448/bpPXiTkOVY1N4Uz80hijMn5dEYpR\nGbITI2z2NcYOO2EwuAFNltdwLx6DXI9B/x7eRGiT3TS6Jh7S5HgNfJaBaRhY5oFhvOVl9RQWpbXJ\n5xMREZHU01Z1TmfhOA41EYeSoMFXu0LsqndXy9wdD26arisOM99fumWQ53dPGT89xyKvwEue36Sn\nz6TAb1CUbpGmxRhEjpsCHRHpVMK2w/5Gd16Zpsv+eFCTeCx+2w1ubKrDzmHnoAF3Hppsr0GWxyTT\na9A7YHJKlkW2Jx7aeE2yPIZ72lM8oHGH67YMaERERES6oqagpixosye+IMPuoM2eYIw9QZs9DTZ7\ngja76mM02A6QBuxL/Hymx6Cn3yDXazIs26JnvpcefpOe8RE3BQGL7PjoGtVWIm1LgY6ItItIzB01\nsz9+aQpm9oedxGOBXzzM91+taBHS1EePkMzghjNZ8VObMj3uak4npnnJ8hhkNjvtKctrJiYOTvcc\nGD2jIz4iIiLSUXr16pXU92+0ncRqmeUhdyGGsmD8Or4wQ1Ngc/B8NQB+E3rGD3ble00GF1r09Jl4\nw0H69syip98F/3PVAAAgAElEQVSgIGCR7tGpUCLJokBHRI4o5jjUhB2qwjGqGmPxa/f+/kb3sf3x\n5/bHn9/f6AY2RwtmTCDTa9Bz5BR21kZJtwz6p7tHdZrCGvdikuVzg5qcg8IZ09ARHhEREem8Pvvs\nszZ9PcdxqA47VMTn+mtanKE8ZFNx0Aqae0PuCObDyfS4CzBkewx6+02GZFnk+uIHw7wmPXxuUNN8\ncYbmK2iWl9VSWORv088mIl+PAh2RLsxxHBpsd+dfHY5R3RijOh7QVIfjtxvd21XN7jc9XxN2DjkH\nujmvARlegwzLIMPjXgY0C2YyLHfkTEY8oMn2mYkRNl7L4NmlD3DFnFs1ObCIiIh0OXfffTe33Xbb\nEZ+PxJzEfH/7mp1OXhGf969pHsCK+Aqa+xpjRA6dSxhwQ5qc+ByAPTwGA3t4yY6PVm5aoCEvYNLT\nb5JmxRdo0OlPIilPgY5IJxaKOtRGYmxvMKirCFMTD11qIm7YUhOOJW43BTDVzcKamnCMowyUAdzh\ntOnxMCbdci/90kxOy7Tcx+LPZViQ7jHdYMZrkOUzSbPAMs34aJmWR29a45ml/8GVN/zyG3xDIiIi\nIsnVfERz81PNF7+zHeujmgNzAjZbtKGyMUbNERZoAHcS4ex4QJPhMdz5/3p6yYkfGGtaqKGHz12k\nIaCQRqRbUqAj0saaRsXURRxqw24gUxtpdh1udj8eztRG3PCl6bom/nPhxFGYNPhg72HfL81yA5l0\nyyAtfunlMxmUbrQMajyQZhqkx4uDTI87WsYfX6HJDWRUBIiIiEj3Y8fciYGr46eSu6OXD4xwrorf\nP3AKetPcgLEjL85wyXwWfVhLmkViEYZ0j7tAw+BMK7GipjsXoOmeYu41yPWb+JsCmvhBM41kFpHD\nUaAj3V5TAFMfcaiPOtRGHOoj7hwwdRGHukgsfu1QH3VDl5aPuwFMXcShLuo+Zh9jVAy4O2c3hHED\nmYB5IIwZmG6QbkGaxyDNNIiFghTkZJBmme4pTvFTmDK8Bl5T88qIiIhI99VouwfC6uKBTPMDaO5o\n5oMPnLmPNQU3NfHa7mhMwz2t6cCBMoNCn8mgDKvFKeYZFomDZr/67pk89cYn+BTOiEg7UaAjKSNs\nOwSj7qUh6oYrTffr49fBeKjSdDsYdaiLOgSjsfhzbnBTFw9s6uP3W5G/AO4qSWnxECZgGQQsA79p\nkGVBoc8kYFkE4s83jZYJWJBmmaR5iJ/C5J62FLDANA+MjjlaGONOPpfWdl9mJ7Hk6VeS3QQRERHp\nQAcfSNtcb7C/vJH6SPygWtQ9sFYXr9uaH1hrut189HN9xGk2ovnIPMbBI5rduqwgwyLtoKAm3YIM\nj+keQIuf2pTuIR7KHKjbjhXMLHn8KXICVht9cyIih1KgI99IzHEI2Q6hqEPIhlA8dAnZbuhy8P3D\nPdYU0AQT28QSIU3TzwSjzjHngjmY13RDFb8JPssdAdN0u9Bn4k87EMoETDdg8Te7HYiPjkn3GIkd\nvd8yMOLBS2Jnjo60iIiISOqLOQdqtcS1DQ3RGA1RaLBjhKIQjMZosA/UcA3NDq41vx1sdgCt+UG5\nliVdGnxYcdj2GBA/MGY0q9nc+i03zSQQD2PSLPe0cr/HIN2ENI8bwBx8IM066ECa6jcRSXUKdFKU\n47hHI8Ixh7Dt3m603duNMXc0S6PtEI45NNokbodsh527PeSE62i03ftNj4fjgUzT4+61uxNvjD93\nILxxn29sxRGRI/GbboDiN8FnGvhMA68JftPdWWf73dDFFx8F07S9L75N86AmEN9RByx3aeuARfxU\nJHdn3RS8aOfducy97DxWfrI72c0QERFJGsdxiMRruki8hmu63VS/hW1ojDlEbIfGZrVd81ov3Mq6\nLhQPZZrXdY0xN2hpzUiXw/Ea8ZrMcms6v+nWaz7TDVh6BEy3drMO1H5plnugLBqsIy87C7/lHkBz\nTzk/UM81hTBNdVwq1XKqc0SkvXXJQMdx3InJ7Pgl5jjxa7Djt23Hnfys6fFo/PFoDKIxJ/FYNAbR\n+Gu4t90drN3sdjTW8rlofCd88P1IfLtIzN3ZHrjtbhOO32+03eeawpqmHXqk2TZfd4fr8sGX1Yl7\nlgE+Ezzxna/XcIMVr2ngMdxrrwm5HgOf173tiQcq3ngQ07TT9pruayUet2i2AzcTR1V8VtMoF3fE\ny4GwRXPAiIiIdEVN9VkMt/aKxeurpvvOQfftZtvY8eftFjWdez/WrMbbVm1StqcRO3bg56KOgx3j\nMDVfvCaMuT8bbfZYU10XjT93pHov6rh1WfPnI/HHm2q4pufd2u/Quu9Iy1B/Xcdd11nx+s1w6zNf\ns59zazq3lvM2C2QCzS7++EG0phrueGu68rIaCosCbfsliIh0E60OdKqqqqiurm7xmGVZ9O3bl+vW\n7GNv6MDeqGkYpdNsPKXjuI87zW87B7Zv/piDuxM+eHu3CHDc+007eVoWCK2ZjLajWYZ73q5lHJgM\nzYpPYmvFnzcNdycbMCDTG5/gFgNv823jO2QTdydrxXfWzV/fYzbdjo9QwYjv1EnsrOvrqsnvkRsP\nXWgRqrjXB+7TdC1JFfB68JjJbkXb69+/f5f8XNB1+6wrU591TlYH9MnRapw5B9U4R3I85cfhtnVa\n8QLN66bDvdbBz7eow5o9cbh6zME55HWbfqbpdiy+Hc7hfp74Kj9O4rEYzR/vKBlQur9NX9Ey3HrN\nOFwt13SbA3PhWc3ruabHcOfNa16vWfF6zUOzmg4Hj2lg4G7riddwluHWhGYinInXdhh4LfdnU7Wu\n68r/9nbVOqcr91lXpT7rvAzPN/tX2aiqqmrVbvbuu+9m8eLFLR4bPXo0r7yiSU1FREQkdanGERER\nkVTU6pxuzpw5fPzxxy0ud9xxB+eddx47d+5szzZKG9q5cyfDhw9Xn6UQ9VnqUZ+lHvVZ96Yap2vQ\n33HqUZ+lHvVZ6lGfdW2tPuUqNzeX3NzcQx5ft24dtm23aaOk/di2zfbt29VnKUR9lnrUZ6lHfda9\nqcbpGvR3nHrUZ6lHfZZ61Gddm86kExERERERERFJMQp0RERERERERERSjAIdEREREREREZEUY/3b\nv/3bwm/yAn6/n/HjxxMIBNqoSdLe1GepR32WetRnqUd9JgfT70TqUZ+lHvVZ6lGfpR71WdfV6mXL\nRURERERERESkc9ApVyIiIiIiIiIiKUaBjoiIiIiIiIhIimlVoLNlyxamTZvGWWedxbRp0/jyyy8P\n2ca2bW699VZGjBjBmWeeyZNPPtnmjZXWa02f3XvvvYwePZqxY8cyadIkXn/99SS0VJq0ps+abN68\nmd69ezN//vwObKEcrLV99sILLzB27FjGjBnD2LFjKS8v7+CWSpPW9NnevXuZNWsWY8eOZdSoUdxy\nyy1Eo9EktFY6gmqc1KMaJ/Woxkk9qnFSj2qc7qlVgc68efP42c9+xgcffMDPfvYz5s6de8g2zz77\nLCUlJaxfv56///3v3HPPPWzbtq3NGyyt05o+O+uss3jjjTdYu3YtDz/8MFdffTUNDQ1JaK1A6/oM\n3P9YzJ07lwsuuKCDWygHa02fffjhh9xzzz288MIL/OMf/+Dll18mOzs7Ca0VaF2fPfDAA5xyyims\nXbuW//mf/+Gjjz7i//2//5eE1kpHUI2TelTjpB7VOKlHNU7qUY3TPR0z0Nm7dy8ff/wxl1xyCQCX\nXHIJH3/8MRUVFS22e+GFF7jqqqswTZP8/HwuuOACXnrppfZptRxVa/tsypQppKenA3D66acDUFlZ\n2bGNFaD1fQbw4IMPct5553HSSSd1dDOlmdb22SOPPMKNN95IUVERADk5OVphIEla22eGYVBXV0cs\nFqOxsZFwOEzv3r2T0WRpZ6pxUo9qnNSjGif1qMZJPapxuq9jBjpfffUVJ5xwApZlAWBZFr1792bn\nzp0tttu5cyf9+vVL3O/bt+8h20jHaG2fNbd8+XIGDBhAnz59OqqZ0kxr+2zDhg28/vrrXH/99clo\npjTT2j777LPP2LZtG+effz4TJ07kvvvuw3G0uGAytLbPfvWrX7FlyxZOPfVUTj31VKZMmcLo0aOT\n0WRpZ6pxUo9qnNSjGif1qMZJPapxui9Niiy88847LFq0iP/8z/9MdlPkKCKRCHPnzuXBBx9M/GMt\nnZ9t23z66ae8+OKLrFy5ktdee42nn3462c2So3jxxRcZNmwYn3/+Of/6179Yu3atRmOIpCjVOKlB\nNU5qUo2TelTjdD3HDHT69OnDrl27sG0bcP9wd+/eTd++fVts17dvX3bs2JG4v3PnzkO2kY7R2j4D\neO+997j22mv5y1/+wuDBgzu6qRLXmj7bs2cPpaWlXHrppZxxxhk8+uijPPnkk9x8883Jana31tq/\ns379+jFz5kz8fj9ZWVnMmDGD9evXJ6PJ3V5r++yxxx5j1qxZmKZJTk4OM2bM4O23305Gk6WdqcZJ\nPapxUo9qnNSjGif1qMbpvo4Z6BQUFHDGGWfw3HPPAfDcc88xfPhw8vPzW2w3c+ZMnnjiCWKxGBUV\nFaxcuZKLLrqofVotR9XaPlu/fj3XXHMNTzzxBCNGjEhGUyWuNX3Wr18/SkpK2LBhAxs2bGDOnDlc\neeWVPPTQQ8lqdrfW2r+zSy65hDfffBPHcYhEIrz11luJ+RykY7W2z/r3789rr70GQDgcZvXq1QwZ\nMqTD2yvtTzVO6lGNk3pU46Qe1TipRzVO92VUVVUd80THL774gjlz5lBVVUVubi5/+tOfGDx4MJde\neim33347Z555JrZt88tf/pI33ngDgLlz5zJ79uz2br8cQWv67JxzzmH79u0tJsJaunQpw4YNS2LL\nu6/W9Flzd999N/X19dx1111JarG0ps9isRjz58/ntddewzRNJk+ezF133YVp6ozXZGhNn5WWljJv\n3jzKy8uxbZsJEyZwzz334PF4kt18aQeqcVKPapzUoxon9ajGST2qcbqnVgU6IiIiIiIiIiLSeSg+\nFRERERERERFJMQp0RERERERERERSjAIdEREREREREZEUo0BHRERERERERCTFKNAREREREREREUkx\nCnRERERERERERFKMAh0RERERERERkRSjQEdEREREREREJMUo0BERERERERERSTEKdERERERERERE\nUowCHRERERERERGRFKNAR0REREREREQkxSjQERERERERERFJMQp0RERERERERERSjAIdERERERER\nEZEUo0BHRERERERERCTFKNAREREREREREUkxCnRERERERERERFKMAh0RERERERERkRSjQEdERERE\nREREJMUo0BERERERERERSTEKdEREREREREREUowCHRERERERERGRFKNAR0REREREREQkxSjQERER\nERERERFJMQp0RERERERERERSjAIdEREREREREZEUo0BHRERERERERCTFKNAREREREREREUkxCnRE\nRERERERERFKMAh0RERERERERkRSjQEdEREREREREJMUo0BERERERERERSTGeZDdAREREJJmqqqqo\nrq4+5PGePXuSlZWVhBaJiIiIHJsCHREREenWHn30URYvXtzisdGjR/PKK68kqUUiIiIix2ZUVVU5\nyW6EdKzS0lIGDhyY7GbIcVCfpR71WepRnyWXHXN4tzzMC1sbeGNniIgD/dMtpvb2MXdkTru+9+FG\n6FiWRd++fdv1faVt6W84tai/Uov6K7Wov7oPjdDphqLRaLKbIMdJfZZ61GepR32WHJ9XRVi+Jcgz\nXwbZHYyR7TUYne9lYoGXIblecgJWu7chNzeX3Nzcdn8faV/6G04tXbW/TjvtND777LNkN6PNddX+\n6qrUX92HAh0RERHpUPsbYzxfEuSpLUHWV0SwDPhWDw8/6BtgVL6XHgET0zCS3UwRkeO2Z8+eZDdB\n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\n80idiX3JZyKzSH1lFqmvzCL1lVmkvjLLsdRXk5ctF0IIIYQQQgghhBBtgwy5EkIIIYQQQgghhMgw\nktARQgghhBBCCCGEyDBNSuisW7eOs88+m5NOOomzzz6bb775Zr99DMPg5ptvZsiQIQwdOpSnn366\n2Qsrmq4pdfbQQw8xYsQIRo0axemnn878+fPTUFJRryl1Vm/t2rUUFRVx5513tmIJxb6aWmdz585l\n1KhRjBw5klGjRlFeXt7KJRX1mlJnFRUVXHTRRYwaNYpTTjmFX/ziFySTyTSUVrQGiXEyi8Q3mUVi\nm8wicU1mkZgmc9x5550MHjyYYDDIV199dcB9jjbWaFJC58Ybb+Sqq67i888/56qrrmL69On77fPP\nf/6T9evXs2TJEt566y1mzJjBxo0bm1QI0fyaUmcnnXQS77zzDh9++CGPPvooP/rRj4hEImkorYCm\n1RnYX/bp06czceLEVi6h2FdT6uyLL75gxowZzJ07l48++oh58+aRlZWVhtIKaFqd/f73v6dPnz58\n+OGHfPDBByxdupRXXnklDaUVrUFinMwi8U1mkdgms0hck1kkpskcEydO5PXXX6dLly4H3edoY43D\nJnQqKipYtmwZkydPBmDy5MksW7aMnTt37rXf3LlzueKKK1BVlby8PCZOnMjLL7982AKI5tfUOhs/\nfjxerxeAQYMGAVBZWdm6hRVA0+sM4JFHHuHcc8+lZ8+erV1M0UhT6+yxxx7j+uuvp6CgAIDs7GxZ\ncSBNmlpniqJQW1uLaZrEYjHi8ThFRUXpKLJoYRLjZBaJbzKLxDaZReKazCIxTWYZOXIkxcXFh9zn\naGONwyZ0tm7dSqdOndA0DQBN0ygqKmLLli177bdly5a9Mk7FxcX77SNaR1PrrLHZs2fTrVs3Onfu\n3FrFFI00tc5WrFjB/Pnzufbaa9NRTNFIU+ts9erVbNy4kfPOO4+xY8fy8MMPY1myuGA6NLXObr31\nVtatW0ffvn3p27cv48ePZ8SIEekosmhhEuNkFolvMovENplF4prMIjFN+3O0sYZMiix4//33uf/+\n+3nyySfTXRRxCIlEgunTp/PII480/HiLts8wDFauXMlLL73Ea6+9xttvv83zzz+f7mKJQ3jppZcY\nOHAgX3/9NV999RUffvih9MYQIgNJfNP2SWyTeSSuySwS07R/h03odO7cmW3btmEYBmB/ibdv375f\nl6Hi4mI2b97ccH/Lli2H7VYkWkZT6wzgk08+4eqrr+aZZ56hd+/erV1UkdKUOtuxYwelpaVceOGF\nnHDCCTz++OM8/fTT/PznP09XsY9rTf2edenShUmTJuFyuQgEAkyYMIElS5ako8jHvabW2RNPPMFF\n16krdgAAIABJREFUF12EqqpkZ2czYcIE3nvvvXQUWbQwiXEyi8Q3mUVim8wicU1mkZim/TnaWOOw\nCZ38/HxOOOEE5syZA8CcOXMYPHgweXl5e+03adIknnrqKUzTZOfOnbz22mt85zvfOdLXIZpBU+ts\nyZIlXHnllTz11FMMGTIkHUUVKU2psy5durB+/XpWrFjBihUrmDZtGpdffjl//OMf01Xs41pTv2eT\nJ09mwYIFWJZFIpHg3XffbZjTQbSuptZZSUkJb7/9NgDxeJyFCxfSv3//Vi+vaHkS42QWiW8yi8Q2\nmUXimswiMU37c7SxhhIKhQ476HHNmjVMmzaNUChEMBjkL3/5C7179+bCCy/kjjvuYOjQoRiGwS23\n3MI777wDwPTp05k6deoxvzBxdJpSZ2eeeSabNm3aa2KsWbNmMXDgwDSW/PjVlDpr7IEHHqCuro77\n7rsvTSUWTakz0zS58847efvtt1FVlXHjxnHfffehqjLiNR2aUmelpaXceOONlJeXYxgGY8aMYcaM\nGei6nu7iixYgMU5mkfgms0hsk1kkrsksEtNkjltvvZVXX32VsrIyOnToQG5uLosXL26WWKNJCR0h\nhBBCCCGEEEII0XZIKlUIIYQQQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcI\nIYQQQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcIIYQQQgghhBAiw0hCRwgh\nhBBCCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcIIYQQQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGE\nEEIIIYQQIsNIQkcIIYQQQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcIIYQQ\nQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcIIYQQQgghhBAiw0hCRwghhBBC\nCCGEECLDSEJHCCGEEEIIIYQQIsNIQkcIIYQQQgghhBAiw0hCRwghhBBCCCGEECLDSEJHCCGEEEII\n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\njRt59NFHue+++xgzZgx333038+fPB2D8+PHce++9aJrG3//+dx577DGcTiemafL3v/+dXr16ccst\nt7Bo0SKcTid+v58333wTsBNKv//974lGozidTu6//36GDx9+0PdQHN/aS5yzK2rw+qYob26O8s62\nGOGkG5dax6CgzvgebgZl65T4NdwOFTVDEziH43OqjCpwMarAhWmarKs2+LAizpLKJP+zpJr/WVLN\nsDwHU3p6uaCHhzyZd0ekgRIKhazD73Zkqqqq2tSykRUVFYwYMYLXXnuNfv368fTTT/PUU08xf/58\n3nvvPc4//3xeffVVRo8ezXPPPccTTzzBwoULue222ygoKOCmm24CIBQKEQwGefjhhwG45ZZbALj7\n7rvRdZ277rqLadOmsWrVKl577TV8Ph+bN2/mrLPO4ssvv0TXdWbNmsXy5cv585//fMjj7OvFF1/k\npptuIjs7G9M0efXVVxuCtcamTZvG0KFD+elPfwrAW2+9xa9//WvefPNNAoEAU6dOpVu3btx7772c\ndtppPPLII5xyyikYhkFdXR2GYXDiiSfy9ddf4/F4qKmpwePxUFtby/nnn8+LL75IYWEhO3bsYNy4\ncXz44Yc8++yzrF27lpkzZ+71Ph1KW/uMtFVr1649aItlpgoGg+0i0NlXe6yr9kzqSxyLtnQOaw8x\nTr1gMHjAIVdDhgwhmUxy9tlnc/vtt+NyufZ77MSJE7nsssuYMmUKAE8++ST/+c9/ePHFFwGYPHky\nkyZN4sc//jElJSV88sknFBYWEovFMAyDtWvX8pOf/ITFixejqmrD+1FaWspPf/pT/vWvf5GVlcWq\nVau48MILWbly5UHfw8NpS5+fdGqvv8OZHOeURwxe3Rjl5Q0R3t8Rw7Agz6VyYlCnpyPCaV1yCbpV\n9DY2hCodttYZvLM9xgcVcTaHTTQFTi9y8cPeXiZ29aR9efT2+v0S+zsueuh89tlnDBo0iH79+gF2\n196bb765oadJjx49GD16NABTpkxh+vTpVFdXM2rUKO6++27C4TBjxoxh7NixAMybN4+amhpefvll\nAOLxOIMGDWp4vkmTJuHz+QDo0qUL/fr147///S8TJkzgueee4/7772/ScepVV1fz17/+lXfeeYfe\nvXszd+5cfvjDH/LBBx8ctkvjwoULueCCC8jKygLgoosu4qGHHgJg7Nix3HHHHXznO9/hrLPOYsCA\n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\nyURSUhIOh4O3336byMhIbrvtNmJjYwvVOUOHDsXLywt/f38GDx7sOk9UVBQzZ85kxowZ7Nq1i6pV\nq5bk21WpafIKEbmmmFM27E5oU4zlyv+oS01vdqTmEXsyl+6hFes+cyl9O3fuZP/+/UDBxIE5OTkM\nGjSI5cuXs2DBAubOnYvZbCY4OJh+/foRGxvLgAEDCAsLY8CAAXh7exMYGEi/fv2Ij49n6NChl5zD\n29vb9b3ZbHZNjOt0OunZsyfvvvvuJc95/fXXSUtLIzo6Gl9fX8aPH3/JpIuXM23aNPbt28fmzZsZ\nOXIkjz/+OCNGjCjq2yMiIkWU73Cy5bSN8Ope+Fiv/yJWkyAL607YyMq14+9d9FVBpXLz9/dn5syZ\nrp8nTZp0ycTGixYt4oEHHijU6AkLC+OWW24hMDAQb29v7r333iteuAJc8whenDcuP79glbZWrVqx\nbt26S/ZfsmQJ27dvZ926dQQGBjJr1iwOHTp0zdczduxY+vbty6ZNm5g8eTI9evTgueeeu+bz5No0\nQkdErmnjiRz8LSZaVC3Jho4XFhMs/SWzxI4plceRI0dISEggISGBl19+mV69erF8+XKgYHWii7c5\n5ebmsmnTJlq0aAHAwIED2bhxI06nk7y8PGJiYmjduvV1nbtHjx5ER0e7GkqA6z7x9PR0ateuja+v\nLydPnmTt2rWufbp27crHH38MFNzO9eWXX7q2HTx4kFatWjFmzBgGDx5c6L5zEREpO7tT87iQ56RV\nsLVIS483CbSS64Aff9MoHSm68+fPk52dDRTMp/Pll1+6VrkCyM7O5tNPPy10uxUU1DmbN28mNzcX\np9NJdHT0ddc5nTp14vDhw2zevNn1WHx8PE6nk/T0dKpXr05gYCDp6emF5sLp2rUrS5cuJT8/n+zs\n7ELbDh06RMOGDRk1ahSPPfZYoduxpHg0QkdErsrpdBJ9wkbLYAuB3iXXAw7wMtOhhhdfJ9vIdziw\nmtVflpIxffp0Jk6cSEREBHa7naioKNdol/vvv5/du3fTr18/vL296dGjh+s2KHc1btyYBQsW8MQT\nT7hWj+jUqRPt27dn9OjRjBw5ki5dunDjjTfSrVs31/Oefvppxo0bR3h4OLVq1SIiIsK1berUqRw+\nfBiLxUJwcDBz584tmTdDRESuS8ypgvlGWgUXbXTNxXl3dqXY6FxHqyhK0Rw5coRRo0ZhtVrx8fFh\n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\n0oUZM2Zw4sQJmjRpctkYVq5cyaeffsqePXvYt28fn3zyCQAOh4MhQ4bQunVr9u/fzxdffMH8+fOJ\njo6+5nuTm5vLQw89xAMPPEBSUhL33HMPX3zxBVAwr8+///1vNmzYQHJyMp9++in16tVz+z0TkaJT\nQ0dERERERIolMTGRsWPHcvfdd2M2mxkyZAjJycmFRodczaOPPkpoaCjVqlVj0qRJrFixwrVt9OjR\nhIaG4ufnx3fffUdmZiYTJ07E29ubbt26cccddxTa/2rHu+eee6hTpw5ms5n77ruPRo0asWvXLrdj\nKYobbriBiIgIVq1aBcD69eupUaMG7dq1u2Rfd1/f1YwePZo6depQrVo1+vTpQ0JCAlAw8ui3335j\nypQpeHt706BBA0aMGMGnn34KXP29+e6778jPz2fs2LF4eXkxYMAA2rdvD4DFYsFms3HgwAHy8vKo\nX78+DRs2LNZ7JiLuUUNHRERERESKJTExkbvvvtv1c0pKCgEBAfj6+rr1/Lp167q+DwsLKzRqJjQ0\n1PX96dOnqVu3LmazudD+p06dcut4ixcvJjIyknr16lGvXj3279/Pb7/95nYsRTV06FCWLl0KFNye\n9sADD1x2P3df39XUrl3b9b2fnx+ZmZlAwfw7p06dcr32evXq8cYbb5CSkgJc/b05ffo0derUwWQy\nFYoLoFGjRkybNo3p06fTpEkTHn744euKV0SKTg0dEREREREpsrS0NJKTkwkJCXE9tmrVKnr16uX2\nMU6cOOH6Pjk5mRtuuMH18++bCDfccAMnTpzA4XAU2r9OnTrXPN6xY8cYP348M2bMICkpiWPHjl12\nguGrxeKO38d7Uf/+/dm3bx+JiYl8/fXXDBo06LLPdff1FUXdunWpX78+x44dc30lJyezfPnya743\ntWvX5tSpUzidzkJxXTRo0CC++uorEhISMJlMvPjii8WOV0SuTQ0dEREREREpssTERCwWCytWrCA/\nP5+vv/6a999/n2eeeQaAMWPGMGbMmKse47333uPEiROcO3eOWbNmcd999112v44dO+Ln58ebb75J\nXl4esbGxfPXVV9x///3XPF5WVhYmk8nVeFq0aBH79+8vcixXUqtWLY4cOVLoMV9fXwYMGMAjjzxC\n+/btXaNbivr6iqJDhw4EBAQwZ84csrOzsdvtJCYmEh8ff8335tZbb8VqtfLOO++Ql5fHF1984bod\n6+DBg8TExGCz2fD19cXX17fQCCMRKT36pImIiIiISJElJiYyaNAgdu7cSYMGDZg2bRoff/wxzZs3\nBwpGvHTu3Pmqxxg4cCD33XcfN998Mw0aNOCpp5667H7e3t4sWTqhRfoAAAGxSURBVLKEb7/9lsaN\nG/PUU08xf/58mjZtes3jNW/enHHjxtG7d29uuukmEhMT6dSpU5FjuZKJEycyc+ZM6tWrx9tvv+16\nfOjQoSQmJl7xdqvreX1FYbFYWLp0KQkJCdx88800atSIJ598kvPnz1/zvfH29ub//u//+OSTT2jY\nsCErV67krrvuAsBms/HSSy/RuHFjmjZtSmpqqkboiJQRU1pamvPau4mIiIiIiFzqb3/7G40bN+bx\nxx+/ZFtubi6RkZFs2bIFLy+vyz6/TZs2vP3223Tv3r2UI/Ws48ePc+utt3LgwAGCgoI8HY6IVAAa\noSMiIiIiIkWWmJhIs2bNLrvN29ubnTt3XrGZU1k4HA7+9a9/cd9996mZIyIlxurpAERERERExLgS\nExO56aabPB1GuZWZmUnTpk0JCwsr9hLoIiK/p1uuREREREREREQMRrdciYiIiIiIiIgYjBo6IiIi\nIiIiIiIGo4aOiIiIiIiIiIjBqKEjIiIiIiIiImIwauiIiIiIiIiIiBiMGjoiIiIiIiIiIgajho6I\niIiIiIiIiMGooSMiIiIiIiIiYjD/Hxyt10CX2trnAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 1152x648 with 12 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "jTqKXlGRmKuh"
      },
      "source": [
        "The posterior probabilities are represented by the curves, and our uncertainty is proportional to the width of the curve. As the plot above shows, as we start to observe data our posterior probabilities start to shift and move around. Eventually, as we observe more and more data (coin-flips), our probabilities will tighten closer and closer around the true value of $p=0.5$ (marked by a dashed line).\n",
        "\n",
        "Notice that the plots are not always peaked at 0.5. There is no reason it should be: recall we assumed we did not have a prior opinion of what p is. In fact, if we observe quite extreme data, say 8 flips and only 1 observed heads, our distribution would look very biased away from lumping around 0.5 (with no prior opinion, how confident would you feel betting on a fair coin after observing 8 tails and 1 head?). As more data accumulates, we would see more and more probability being assigned at $p=0.5$, though never all of it.\n",
        "\n",
        "The next example is a simple demonstration of the mathematics of Bayesian inference."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "5UKnxit-mevN"
      },
      "source": [
        "## Example: Bug, or just sweet, unintended feature?\n",
        "Let $A$ denote the event that our code has no bugs in it. Let $X$ denote the event that the code passes all debugging tests. For now, we will leave the prior probability of no bugs as a variable, i.e. $P(A)=p$.\n",
        "\n",
        "We are interested in $P(A|X)$, i.e. the probability of no bugs, given our debugging tests $X$. To use the formula above, we need to compute some quantities.\n",
        "\n",
        "What is $P(X|A)$, i.e., the probability that the code passes $X$ tests given there are no bugs? Well, it is equal to 1, for a code with no bugs will pass all tests.\n",
        "\n",
        "$P(X)$ is a little bit trickier: The event $X$ can be divided into two possibilities, event X occurring even though our code indeed has bugs (denoted $∼A$, spoken not $A$), or event $X$ without bugs $(A)$. $ P(X)$ can be represented as:"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "7rDu4o6DnjT7"
      },
      "source": [
        "$$ \\begin{align*}\n",
        "P(A|X) &= \\frac{P(X | A) P(A) }{P(X) } \\\\\n",
        " P(X) &= P(X \\text{ and } A) + P(X \\text{ and } \\sim A) \\\\\n",
        "  &= P(X|A)P(A) + P(X | \\sim A)P(\\sim A) \\\\\n",
        "  &= P(X|A)p + P(X | \\sim A)(1-p) \\end{align*} $$\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "S48e_3wph3I_"
      },
      "source": [
        "We have already computed $P(X|A)$ above. On the other hand, $P(X|\\sim A)$ is subjective: our code can pass tests but still have a bug in it, though the probability there is a bug present is reduced. Note this is dependent on the number of tests performed, the degree of complication in the tests, etc. Let's be conservative and assign $P(X|\\sim A)=0.5$. Then:\n",
        "\n",
        "$$ \\begin{align*}\n",
        "P(A | X) &= \\frac{1\\cdot p}{ 1\\cdot p +0.5 (1-p) } \\\\\n",
        "&= \\frac{ 2 p}{1+p} \\end{align*} $$\n",
        "\n",
        "This is the posterior probability. What does it look like as a function of our prior, $p\\in[0,1]$?"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "MwjluXPenvAy",
        "outputId": "a3b6cc69-0327-4988-9f43-d221bebde66c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 437
        }
      },
      "source": [
        "# Defining our range of probabilities\n",
        "p = tf.linspace(start=0., stop=1., num=50)\n",
        "\n",
        "# Visualization.\n",
        "plt.figure(figsize=(12.5, 6))\n",
        "plt.plot(p, 2*p/(1+p), color=TFColor[3], lw=3)\n",
        "#plt.fill_between(p, 2*p/(1+p), alpha=.5, facecolor=[\"#A60628\"])\n",
        "plt.scatter(0.2, 2*(0.2)/1.2, s=140, c=TFColor[3])\n",
        "plt.xlim(0, 1)\n",
        "plt.ylim(0, 1)\n",
        "plt.xlabel(r\"Prior, $P(A) = p$\")\n",
        "plt.ylabel(r\"Posterior, $P(A|X)$, with $P(A) = p$\")\n",
        "plt.title(r\"Are there bugs in my code?\");"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAGkCAYAAADZrg9TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXiU5b3/8c/MZGayQghZCNkJYQdZ\nZRNQ6k4V6AFB2mo9VVuwtlqVo9j1yDkqp0fbaoXqxTnH+lNAaQGtUhesigooghD2BAIkISEJISHL\n7PP8/ghExwSSQCbr+3VdXlfyPM/MfDM+JPnkvu/vbaqoqDAEAAAAALgo5vYuAAAAAAA6M0IVAAAA\nAFwCQhUAAAAAXAJCFQAAAABcAkIVAAAAAFwCQhUAAAAAXAJCFQDgvBYuXKilS5e2y2u//PLLuv76\n69vltc/59NNPNXbs2HatIZja8/8vAHQlhCoA6GRmzJihtLQ0uVyuVn3ejhBiOppJkyZp+/bt7V1G\nu6uoqNCPfvQjDRo0SOnp6XrooYdkGGxzCQDnEKoAoBM5duyYtmzZIpPJpI0bN17wWp/P10ZVNU9H\nqwfNV1FRoREjRmjr1q3atm2b3n77ba1fv769ywKADoNQBQCdyOrVqzVu3DgtWLBAq1atCji3cOFC\n/fznP9fcuXPVt29fbd68WS6XS7/4xS80bNgwZWVl6f7775fD4WjwvAcPHtTPf/5zffbZZ0pKSlJq\namr9uYqKCt1yyy1KTk7Wt771LeXl5dWfO3TokGbNmqX09HSNHTtW69ata5V6zjEMQw899JBSU1M1\nbtw4ffjhh/Xnhg8frg8++KD+88cff1x33313/eerVq3SsGHDlJGRoWXLlgVc/8UXX+jKK69USkqK\nsrKytGTJkkZff/PmzRoyZEjAaz7zzDOaNGmSUlNTdccdd8jpdDb62JdfflnXXXedHnnkEaWmpuqy\nyy7Ttm3b9PLLL2vo0KHq37+/XnnlFUnSjh07lJWVFRA8X3/9dU2ePLnR53Y4HHr00Uc1bNgwpaam\n6vrrr69/H9966y1NmDBBqampmjFjhg4ePFj/uF27dmnq1KlKTk7WHXfc0WC08x//+IeuuOIKpaam\n6tprr9WePXskSenp6brnnnsUHR2thIQE9e/fXyUlJY3WBgDdEaEKADqR1atXa+7cubrlllu0adOm\nBr/Yrl27Vg888IAKCgo0YcIE/eY3v1Fubq42b96sHTt26MSJE1q2bFmD5x04cKCeeuopXX755Sos\nLNTx48frz/31r3/Vv/3bv+no0aPq16+fHnvsMUlSTU2NZs+erTlz5ig3N1crV67UAw88oAMHDlxy\nPeds375d6enpOnz4sB555BF9//vf1+nTp5t8nw4cOKAHH3xQL7zwgg4ePKgzZ86oqKio/vzDDz+s\nH//4x8rPz9fOnTs1e/bsJp/znHXr1umvf/2rdu3apb1799YHo/PVP3ToUOXl5Wnu3Ln64Q9/qJ07\nd2rHjh16/vnntXjxYlVXV2v06NGKiYnR+++/X//YNWvWaP78+Y0+7y9/+Ut9+eWXeuedd5SXl6ff\n/va3MpvNys3N1Z133qnHH39chw8f1rXXXqv58+fL7XbL7Xbru9/9rubNm6e8vDzNmjVLr7/+ev1z\n7tq1Sz/5yU/0+9//Xnl5efrBD36gW2+9tUHw2rBhg3bs2KEZM2Y0+z0DgK6OUAUAncSWLVuUn5+v\n2bNna+TIkcrIyNBrr70WcM0NN9ygCRMmyGw2y26368UXX9Tjjz+uXr16KSoqSg888ID++te/tuh1\nv/3tb2vMmDEKCQnR3LlzlZ2dLUl6++23lZqaqu9973sKCQnRZZddpptvvjlgWtil1hMXF6dFixbJ\narXqO9/5jvr376+33367yZo3bNig66+/XhMnTpTNZtOSJUtkMpnqz4eEhOjIkSM6deqUIiMjNW7c\nuGa/Hz/60Y+UmJioXr166frrr69/PxqTlpam733ve7JYLJo9e7YKCgq0ePFi2e12TZ8+XVarVUeO\nHJEk3XrrrXr11VclSadPn9b777+vuXPnNnhOv9+v//f//p+eeOIJ9e3bVxaLRePHj5fdbtff/vY3\nXXvttbrqqqtktVp17733yul0atu2bfr888/l9Xrr38+ZM2dq9OjR9c/74osv6gc/+IHGjh0ri8Wi\nBQsWyG636/PPP6+/ZsuWLfrpT3+qVatWKTk5udnvGQB0dSHtXQAAoHlWrVql6dOnq3fv3pKkOXPm\naNWqVbrnnnvqr/n6L7plZWWqra3VtGnTAp6npWubEhIS6j8OCwtTTU2NJCk/P1/bt28PmCro8/k0\nb968VqsnMTExIAylpKSouLi4yZqLi4uVlJRU/3l4eLhiYmLqP3/22Wf1n//5nxo3bpzS0tL0b//2\nb81u0vHN9+NC9cTHxwdc29ixc+/nLbfcovHjx6umpkbr1q3TxIkT1adPnwbPeerUKTmdTmVkZDQ4\nV1xcrJSUlPrPzWazkpKSVFRUJIvF0uj7eU5+fr5WrVql559/vv6Yx+MJ+PpWrlypRYsWaeLEief9\nmgGgOyJUAUAn4HA4tH79evl8Pg0YMECS5HK5VFlZqezsbA0fPlySAn5h7t27t8LCwrR161b17du3\nydf4+mObIykpSZMnT75gw4JLqUeSioqKZBhG/fMUFBTohhtukCRFRESotra2/tqvT4VMSEhQbm5u\n/ecOh0Pl5eX1n2dmZmrlypXy+/164403dPvtt+vIkSOKiIhoVl3B0LdvX40bN05vvPGG1qxZo3/9\n139t9LrevXsrNDRUeXl59f/fz+nTp4/27dtX/7lhGCosLKwPU429n+fCWVJSkh544AE9+OCD562x\nuLhYU6dOvdQvFQC6HKb/AUAn8Oabb8psNmvr1q3avHmzNm/erM8++0wTJ07U6tWrG32M2WzWbbfd\npiVLlqi0tFSSdOLECW3atKnR6+Pj41VYWCi3292smq677jrl5uZq9erV8ng88ng82rFjR0BjhEup\nR5JKS0u1YsUKeTwerV+/XocOHdK1114rqa5pxN/+9jd5PB7t3LlTGzZsqH/czJkz9Y9//EPbtm2T\n2+3WE088EdACfM2aNSorK5PZbFbPnj3r62tv8+fP1x//+Eft27dPN910U6PXmM1mfe9739Ojjz6q\noqIi+Xw+ffbZZ3K5XJo9e7beeecdffjhh/J4PHr22Wdls9k0fvx4XX755QoJCal/P19//XV98cUX\n9c97++2363//93+1fft2GYahmpoavf3226qqqqq/5qWXXmp0SiIAdHft/xMEANCkVatW6bvf/a5S\nUlKUkJBQ/9/dd9+t1157TV6vt9HH/fa3v1W/fv109dVXKyUlRbNmzVJOTk6j106dOlWDBw/WgAED\n1K9fvyZrioqK0rp16/S3v/1NgwYN0oABA/TrX//6gvtntaQeSRo7dqyOHDmizMxMPfbYY3rxxRfr\np/E9+uijysvLU3p6uh5//HHNmTOn/nGDBw/Wk08+qR/+8IcaOHCgIiIiFBcXJ5vNJknatGmTJkyY\noKSkJD388MNauXJl/fS89vTtb39b+fn5mjFjhsLDw8973WOPPaYhQ4Zo+vTpysjI0K9//Wv5/X5l\n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\nWBEAwNtw818AwGWXlJSkkpISWSwWBQUFaeLEiVq6dKlCQkI8XktZWZni4+MVHBwsu92u8PBw/eY3\nv9HcuXNVWlqqMWPGKCsrS4GBgc3Os1qtSk1NldVqVVZWlnN8w4YNevPNN/XKK694+qMAADooVqoA\nAG6xdu1aFRUVadu2bdq7d6+eeuqpFsdYrdZLfn1Xz923b58iIyNVVFSk4uJiPf3003rooYdUVFSk\n1157TWlpaS0ClST9+9//VklJiY4dO6Zz5845x2+66SZt375dp0+fvuTaAQCdC6EKAOBW0dHRmjhx\nonPLXFJSkp555hmlpqYqOjpaVqtVSUlJ+vjjjyVJhw8f1uTJk9W7d2+NHDlSmzdvdr5Wa+deTG5u\nroYPH+58PGLECElSQ0ODtmzZouuvv77FOeXl5XriiSe0dOlSWSyWZtv9AgIClJycrK1bt17Sr8f5\n1q9fr7S0NN17770aOHCgBg0apC1btrT7dQEAnkWoAgC4VWFhobZs2aKkpCTnWGZmptavX6/jx4/L\nx8fHOd7Q0KAZM2Zo/PjxKigo0BNPPKFZs2YpPz//oudeyL59+5yhqqysTI899piSk5PVp08f5eXl\nacCAAS3OWbp0qeLj45Wenq7+/fvrwIEDzZ5PSEjQ/v37W5w3ffp09e7du9Uf06dPb3F8Xl6ecnNz\n9dOf/lQHDx7U/fffrwULFlz0MwEAOpaL/2sEAMAluPPOO2WxWBQWFqYbb7xRCxcudD43e/ZsxcbG\ntjjn888/17lz57RgwQKZzWaNGzdON954ozIzM/WHP/zhB8+9kNzcXL3zzjt68cUXFRERoTFjxmjt\n2rUymUwqLy9vcZ3XsWPHlJGRoTfeeEOSlJiY2CJAhYaG6tSpUy3ea926dS7XJTWGqrlz52rKlCmS\npBkzZui///u/VVtbq4CAgDa9FgDAOIQqAIBbrF69WjfccEOrz10oFJ06dUoxMTEym5s2UsTFxam4\nuPii57amrq5OX375pXJychQTE9Pi+YiICFVVVTUbe+SRR3TDDTdozJgxkhpD1fdbE79XWVmp8PBw\nl+u4kLy8PD300EPOxyUlJQoJCSFQAYCXIVQBADzOZDK1Ot6rVy8VFRXJbrc7g1VhYaH69et30XNb\nc/DgQQUFBbUaqCRp0KBBKigocG4P3LlzpzZt2qSwsDAlJCRIkmpra1u855dffqlp06a1eL309HTt\n3Lmz1fcaNWqUMjMznY/LyspUWFioyMhI59jGjRs1ceJElz8fAKBjIFQBADqMESNGKDAwUM8++6zm\nzZunXbt26f3339eHH354wXPmzJkjSVq+fHmL5/bt26err776guempaVpx44dmjZtmhwOhx5++GHd\nd999+t3vfudPWaSuAAABbUlEQVQ85sSJE5o4caJOnDihuLg41dbWau/eva2+3/mh6WLy8vJksViU\nmZmpefPmaevWrVqxYoXeeecdl18DANAxEKoAAB2Gn5+f1q5dq4ULF2rZsmWKiorS8uXLnatGrSkq\nKtJtt93W6nO5ubk/GKpuv/12jRkzRjU1Ndq0aZPOnDmjRx99tNl1Vj169FBoaKgOHDiguLg4vf/+\n+xo9erSioqIu/YOqMVRNnTpVu3fvVnx8vPr376/Vq1crMTGxXa8LAPA8bv4LAPBa9fX1Gj16tHbs\n2CFfX99Leo1HH31UkZGRmjt3rkvHT5gwQc8995yuueaaS3q/7z344IPq16+ffvWrX7XrdQAAxiNU\nAQBggEmTJmnRokVcQwUAnQD3qQIAwAAXukcWAMD7sFIFAAAAAO3AShUAAAAAtAOhCgAAAADagVAF\nAAAAAO1AqAIAAACAdiBUAQAAAEA7EKoAAAAAoB0IVQAAAADQDv8fgWBRSoXEbOMAAAAASUVORK5C\nYII=\n",
            "text/plain": [
              "<Figure size 900x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "dvcD8UWloYxn"
      },
      "source": [
        "We can see the biggest gains if we observe the $X$ tests passed when the prior probability, $p$, is low. Let's settle on a specific value for the prior. I'm a strong programmer (I think), so I'm going to give myself a realistic prior of 0.20, that is, there is a 20% chance that I write code bug-free. To be more realistic, this prior should be a function of how complicated and large the code is, but let's pin it at 0.20. Then my updated belief that my code is bug-free is 0.33.\n",
        "\n",
        "Recall that the prior is a probability: $p$ is the prior probability that there are no bugs, so $1 \\text{-} p$ is the prior probability that there are bugs.\n",
        "\n",
        "Similarly, our posterior is also a probability, with $P(A|X)$ the probability there is no bug given we saw all tests pass, hence $1 \\text{-} P(A|X)$ is the probability there is a bug given all tests passed. What does our posterior probability look like? Below is a chart of both the prior and the posterior probabilities."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "Aot_QO3n1r4o",
        "outputId": "20941da1-2b75-4085-8d34-5fa8761aea6e",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 300
        }
      },
      "source": [
        "# Defining our priors and posteriors\n",
        "prior = tf.constant([0.20, 0.80])\n",
        "posterior = tf.constant([1./3, 2./3])\n",
        "\n",
        "# Our Simple Visualization\n",
        "plt.figure(figsize=(12.5, 4))\n",
        "colours = [TFColor[0], TFColor[3]]\n",
        "plt.bar([0, .7], prior, alpha=0.70, width=0.25,\n",
        "        color=colours[0], label=\"prior distribution\",\n",
        "        lw=\"3\", edgecolor=colours[0])\n",
        "plt.bar([0+0.25, .7+0.25], posterior, alpha=0.7,\n",
        "        width=0.25, color=colours[1],\n",
        "        label=r\"posterior distribution\",\n",
        "        lw=\"3\", edgecolor=colours[1])\n",
        "\n",
        "plt.xticks([0.20, .95], [\"Bugs Absent\", \"Bugs Present\"])\n",
        "plt.title(r\"Prior and Posterior probability of bugs present\")\n",
        "plt.ylabel(\"Probability\")\n",
        "plt.legend(loc=\"upper left\");"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\neRpqf73V2LBhg4qKitSnT5+zXtZisegf//jHWS9nNpvl6en8R8eZPt5//301b95cV155ZaXzLRaL\n5syZ43SfzvYzYMAADRgw4LzXCwAAgIvHJTmSdEawqUGtfZ0Nk8mkl19+WVFRUbr++uv10Ucf2eZ9\n+eWXuvHGGxUZGak777xT+/btk3T6Sc7R0dHq2bOnevTooTlz5mjnzp165513tGTJEkVFRSkpKUmS\n9MUXX+jWW29V7969FR0drR9//FHS6VGnyMhIjR8/XlFRUVqzZo3DiExhYaHGjx+vHj16qEePHnrt\ntddsdQ0cOFCTJ09W3759NWzYsArblJubqzvvvFM33HCDYmNjdfToUds8+z5WrlypyMhIRUVFqUeP\nHkpPT9eiRYu0detWPfXUU4qKitK6deu0ePFiDRo0SPfee6969OihnTt3auDAgVq1apVtvTt27FC/\nfv0UHh6uxx57TKWlpbZa7dudeV9VP6NGjbK1nT17tm37x48fr8LCQknS1KlT9cADDyg2NlYRERG6\n5557dPLkybP6vgMAAKB+uCRHki4ERqNRGzZsUGZmpvr166fIyEhJ0rhx47Ry5Up16tRJCxcu1Nix\nY5WWlqb//Oc/6t+/vx5//HFJpx9IazKZdN9996moqEhTpkyRJGVlZWnmzJn63//+p8suu0y7du1S\nbGysduzYIUnavXu3Zs+erW7dukmSQ0CbOXOmysvL9e233+rEiRPq16+frr76akVHR0uS9u/fr1Wr\nVlU6ivTUU08pMjJSkydP1v79+xUVFaVbbrmlQruXX37Z1r/FYlFRUZFuvPFGffDBB3r00Ud12223\nSTp9WtxPP/2kDRs2qG3btpXuw59++klffPGFGjVqpNjYWL377rt68MEHq9znI0aMqLSfM9asWaOl\nS5dq9erVatq0qR566CHNnDlTzz//vCRpy5YtWrt2rZo1a6YhQ4YoJSVFo0ePrrI/AAAA1E+X9EiS\nO40cOVKSFBISomuvvVY//vijfvrpJ3Xu3FmdOnWSdPqP+u3bt+vEiROKjIzUwoULNWXKFK1fv17N\nmjWrdL1paWnKysrSgAEDFBUVpbFjx8psNuuPP/6QJLVv394WkP5q3bp1Gj16tAwGgy677DLdfffd\nWrdunW1+bGxslafZpaen20Zk2rRpo169elXarlevXnrmmWf0+uuv65dfftFll11W5T7q3r17lQFJ\n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\n52aZAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 900x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "Xl6KbBeoCkiM"
      },
      "source": [
        "Notice that after we observed $X$ occur, the probability of bugs being absent increased. By increasing the number of tests, we can approach confidence (probability 1) that there are no bugs present.\n",
        "\n",
        "This was a very simple example of Bayesian inference and Bayes rule. Unfortunately, the mathematics necessary to perform more complicated Bayesian inference only becomes more difficult, except for artificially constructed cases. We will later see that this type of mathematical analysis is actually unnecessary. First we must broaden our modeling tools. The next section deals with probability distributions. If you are already familiar, feel free to skip (or at least skim), but for the less familiar the next section is essential."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "2zNt6157C0Cr"
      },
      "source": [
        "## Probability Distributions\n",
        "Let's quickly recall what a probability distribution is: Let $Z$ be some random variable. Then associated with $Z$ is a probability distribution function that assigns probabilities to the different outcomes $Z$ can take. Graphically, a probability distribution is a curve where the probability of an outcome is proportional to the height of the curve. You can see examples in the first figure of this chapter.\n",
        "\n",
        "We can divide random variables into three classifications:\n",
        "\n",
        "*  $Z$ is discrete: Discrete random variables may only assume values on a specified list. Things like populations, movie ratings, and number of votes are all discrete random variables. Discrete random variables become more clear when we contrast them with...\n",
        "\n",
        "* $Z$ is continuous: Continuous random variable can take on arbitrarily exact values. For example, temperature, speed, time, color are all modeled as continuous variables because you can progressively make the values more and more precise.\n",
        "\n",
        "* $Z$ is mixed: Mixed random variables assign probabilities to both discrete and continuous random variables, i.e. it is a combination of the above two categories.\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "xG03a_sgDRlc"
      },
      "source": [
        "### Discrete Case\n",
        "\n",
        "If $Z$ is discrete, then its distribution is called a *probability mass function*, which measures the probability $Z$ takes on the value $k$, denoted $P(Z=k)$. Note that the probability mass function completely describes the random variable $Z$, that is, if we know the mass function, we know how $Z$ should behave. There are popular probability mass functions that consistently appear: we will introduce them as needed, but let's introduce the first very useful probability mass function. We say $Z$ is *Poisson*-distributed if:\n",
        " \n",
        "$$P(Z = k) =\\frac{ \\lambda^k e^{-\\lambda} }{k!}, \\; \\; k=0,1,2, \\dots $$\n",
        "\n",
        "\n",
        "$\\lambda$ is called a parameter of the distribution, and it controls the distribution's shape. For the Poisson distribution, $\\lambda$ can be any positive number. By increasing $\\lambda$, we add more probability to larger values, and conversely by decreasing $\\lambda$ we add more probability to smaller values. One can describe $\\lambda$ as the *intensity* of the Poisson distribution. \n",
        "\n",
        "Unlike $\\lambda$, which can be any positive number, the value $k$ in the above formula must be a non-negative integer, i.e., $k$ must take on values 0,1,2, and so on. This is very important, because if you wanted to model a population you could not make sense of populations with 4.25 or 5.612 members. \n",
        "\n",
        "\n",
        "If a random variable $Z$ has a Poisson mass distribution, we denote this by writing\n",
        " \n",
        "$$Z \\sim \\text{Poi}(\\lambda) $$\n",
        " \n",
        "One useful property of the Poisson distribution is that its expected value is equal to its parameter, i.e.:\n",
        "\n",
        "$$E\\large[ \\;Z\\; | \\; \\lambda \\;\\large] = \\lambda $$\n",
        "\n",
        "\n",
        "We will use this property often, so it's useful to remember. Below, we plot the probability mass distribution for different $\\lambda$ values. The first thing to notice is that by increasing $\\lambda$, we add more probability of larger values occurring. Second, notice that although the graph ends at 15, the distributions do not. They assign positive probability to every non-negative integer."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7x8Y_YtNqoPY",
        "colab_type": "code",
        "outputId": "6b88d9a3-f969-40ca-88ac-6c9dcfcab9f4",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 551
        }
      },
      "source": [
        "# Build graph.\n",
        "x = tf.range (start=0., limit=16.,dtype=tf.float32)\n",
        "lambdas = tf.constant([1.5, 4.25])\n",
        "\n",
        "poi_pmf = tfd.Poisson(\n",
        "  rate=lambdas[:, tf.newaxis]).prob(x)\n",
        "\n",
        "plt.figure(figsize=(12.5, 8))\n",
        "\n",
        "# Display results in two different histograms, for easier comparison\n",
        "colours = [TFColor[0], TFColor[3]]\n",
        "for i in [0,1]:\n",
        "  ax = plt.subplot(2,1,i+1)\n",
        "  ax.set_autoscaley_on(False)\n",
        "  plt.title(\"Probability mass function of a Poisson random variable\");\n",
        "\n",
        "  plt.bar(x,\n",
        "          poi_pmf[i],\n",
        "          color=colours[i],\n",
        "          label=r\"$\\lambda = %.1f$\" % lambdas[i], alpha=0.60,\n",
        "          edgecolor=colours[i], lw=\"3\")\n",
        "  plt.xticks(x)\n",
        "  plt.ylim([0, .5])\n",
        "  plt.legend()\n",
        "  plt.ylabel(r\"probability of $k$\")\n",
        "  plt.xlabel(r\"$k$\")"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA00AAAIWCAYAAACLPWasAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVyU9f7//yebC2niLgwg4m4ObphK\nmC2iGZktoLh2LM2oLK3UY+mptDQ1RUtPaotpWhq4ZB41PWZ+XVNJUTMVEBUQ9wOloCzy+6Of83EC\nBseBGbDH/Xbz5nBd7+v9fs41M1zz4tqc0tPT8wUAAAAAKJSzowMAAAAAQFlG0QQAAAAAFlA0AQAA\nAIAFFE0AAAAAYAFFEwAAAABYQNEEAAAAABZQNAEoNyZPnqznn3/+tpZdsmSJHnnkkSLnh4WF6euv\nvy60rcFg0IkTJ25r3LJu165datu2rQwGg9asWWO3cXfs2KHAwEC7jXdDfHy8goOD5e3trblz59p9\n/Bvu5PfUX4WGhmrRokWOjmG1jh07auvWrbfU1sPDQ8ePHy90XnG/ewCUD66ODgDgzmY0GnX+/Hm5\nuLjI3d1dXbt21bRp01SlShVHRzMTExNT5LzU1FTT48jISBkMBo0bN84esUrdpEmTNHToUEVGRpbq\nOB4eHvrll1/k7+8vSQoKCtLevXtLdczCzJo1S507d9a2bdts7mvJkiUaPny4KleuLGdnZ9WvX1/j\nxo27pS/IN7+nUDbt2rXL0REAlCHsaQJQ6pYuXarU1FRt2bJF+/fv14cffligTX5+vq5fv+6AdH9v\nycnJat68uaNj2E1JP997771XqampOnnypAYOHKjBgwcrPT29xPq3t9zcXEdHcDjWAYDCUDQBsBsv\nLy917dpVv/32m6Q/D9uZOHGiunfvLk9PT504cUJpaWmKiIiQn5+f2rRpo4ULF5r1cfXqVQ0ePFje\n3t66//77dfDgQdO8qKgotW7dWt7e3urQoYO+//57s2Xz8/M1atQo+fr6qn379tqyZYtpnqVDiG4c\nevPll18qOjpas2bNksFgUJ8+ffTRRx9p4MCBZu1Hjx6tMWPGFNqX0WjURx99pKCgIHl5eenll1/W\nuXPnFBYWJm9vb/Xq1cvsS/czzzyjJk2ayNfXVz169DCtO0nasGGDOnToIG9vbzVv3lwff/yxJOni\nxYvq06ePfH195efnpx49ehRakLZu3VonTpxQRESEDAaDrl27JqPRqJ9++snU5uZDIk+ePCkPDw99\n/fXXatmypfz9/c0K4Ly8PE2fPt30GnTp0kUpKSnq0aOHJCk4OFgGg0ErVqzQ1q1b1aJFC9OyR48e\nVWhoqHx9fdWxY0etXbvWNC8yMlJvvPGGevfuLW9vbz388MNKSkoqdP1K0tq1a9WxY0f5+voqNDRU\nR48elST17NlTW7du1ahRo2QwGJSQkFBg2cWLF+vee++Vt7e3WrVqpQULFhQ5zs2cnZ01YMAAZWVl\nmbItXLhQbdq0kZ+fnyIiIpSWlmZqf/PhXLfzOpbU+rrxmi5atEgtW7ZUz549JVl+3xXX/+bNm9W+\nfXv5+vpq1KhRys/PN827fv26pk2bppYtW6pRo0YaNmyYMjIyzLIsXrxY99xzj+rXr68vvvhCv/zy\ni4KCgkz9FSYtLU316tXT//73P9O0uLg4+fv7KycnR0lJSerZs6caNGggf39/DR061OxzZjQaNXPm\nTNPnMjc31+yzEBsbq5CQEPn6+qpp06YaNWqUsrOzzTJs2LBBrVq1kr+/v8aPH1/kH4GOHTumJ554\nQn5+fgoMDNTKlSsLbQegbKFoAmA3KSkp2rhxo4xGo2nasmXLNHPmTKWkpMjHx0fPPvusDAaDjhw5\nooULF2rChAlmxc3atWv1xBNPKCkpSeHh4erfv79ycnIkSQ0aNNC6det06tQpjRkzRsOGDdOZM2dM\ny+7du1d+fn5KTEzU2LFjNXDgQLMvWcX5xz/+ofDwcL366qtKTU3VsmXL1Lt3b23atMn0BSw3N1cr\nVqxQ3759i+xn9erVWrVqlfbu3av169crLCxM48ePV0JCgq5fv252rk3Xrl0VGxur+Ph4tWrVSkOH\nDjXNGz58uKKiopSSkqKdO3eqc+fOkqTZs2fLy8tLiYmJio+P1/jx4+Xk5FQgx/79++Xt7W3aE1ix\nYsVbWg+7du3Snj179N1332nq1KmmomTOnDlavny5oqOjlZycrNmzZ8vd3V3r1q2TJG3btk2pqal6\n6qmnzPrLyclRRESEHnroISUkJGjKlCl6/vnnFR8fb2qzfPlyjRkzRidOnJC/v78mTpxYaLaEhAQN\nGTJEkydPVmJiorp166aIiAhlZ2fr+++/V6dOnTRt2jSlpqaqUaNGBZavXbu2li1bpuTkZM2ZM0dv\nvvmm9u/fX+w6yc3N1aJFi1SlShX5+/try5Ytevfdd7VgwQIdPXrU9N4ujLWvY0murxu2b9+un3/+\nWStWrJBk+X1nqf+LFy9q4MCBGjdunBITE+Xn56eff/7ZtNySJUv09ddfa82aNdq/f7+uXLlSoBCK\njY1VbGysFixYoLFjx+rDDz/Ud999p127dmnlypWFHlrp6emp9u3ba/Xq1aZpMTEx6tWrl9zc3JSf\nn6/XXntNR44c0e7du5WSkqIPPvjArI+YmBh9++23OnnypFxdzc9ecHFx0aRJk3T8+HFt2LBBW7Zs\n0WeffWbWZs2aNfrpp5+0ZcsWrV27VosXLy6Q88qVK3ryyScVFhamhIQEff7553r99dd15MiRIl8b\nAGUDRROAUte/f3/5+vrqkUce0X333afXX3/dNK9v375q3ry5XF1ddfbsWf3888965513VKlSJQUE\nBGjQoEFaunSpqX3r1q1NX4ReeuklXbt2TXv27JEkPfHEE/L09JSzs7Oeeuop+fv7KzY21rRs7dq1\n9eKLL8rNzU1PPfWUGjVqpB9++MGm51avXj0FBQXpu+++kyT997//Vc2aNdW6desil3n++edVp04d\neXl5qVOnTgoMDFSrVq1UqVIlPfbYYzpw4ICp7cCBA1W1alVVrFhR//znP3Xo0CHTX+bd3Nx09OhR\n/f777/Lw8DCN6erqqjNnzig5OVlubm4KCgoqtGi6XWPGjFHlypVlNBrVsmVLHTp0SJK0aNEivfXW\nW2rcuLGcnJxkNBpVo0aNYvvbs2ePrly5opEjR6pChQrq0qWLunfvbnae2WOPPaZ27drJ1dVV4eHh\nZnsYb7ZixQp169ZNDz74oNzc3DR8+HBdvXrV7Iu7Jd27d1eDBg3k5OSk4OBgPfjgg9q5c6fF7L6+\nvmrSpImWL1+uxYsXq1q1aoqOjtaAAQPUunVrVaxYUW+//bb27NmjkydPFujD2texJNfXDWPHjtVd\nd92lypUrS7L8vrPU/4YNG9SsWTPTZ/TFF19U3bp1TctFR0frpZdekp+fn6pUqaK3335bK1asMDsk\nbtSoUapUqZIeeughubu7KywsTLVr1zZ9Xm7+fNwsPDzctA7y8/O1YsUKhYWFSZL8/f314IMPqmLF\niqpVq5Zeeuklbd++3Wz5YcOGydvb27QObta6dWu1b99erq6uql+/vv7xj38UWH7EiBGqXr26fHx8\nFBkZWeh5kj/88IN8fX01YMAAubq6qlWrVnr88ce1atWqol8cAGUCRROAUrdkyRKdOnVKhw4d0vTp\n082+lHh7e5senzlzRtWrV1fVqlVN03x8fMwOazIYDKbHzs7O8vLyMu1N+uabbxQcHCxfX1/5+vrq\nt99+08WLF03tPT09zYoHHx8fsz1Rt6tv375atmyZJOnbb79Vnz59LLavU6eO6XHlypVVu3Zts5+v\nXLki6c/D3d555x21bt1aPj4+CggIkCRdunRJ0p9FyoYNG2Q0GvXoo49q9+7dkqRXXnlF/v7+evLJ\nJ9WqVStFRUXZ/BxvdvOX4JvzpqamqkGDBlb3d+bMGRkMBjk7/98m6a+ve1FjFtaXj4+P6WdnZ2cZ\nDAazvizZuHGjunbtKj8/P/n6+mrjxo1m76G/at++vU6dOqXjx4/rv//9rx544IFCc1SpUkU1atQo\nNIe1r2NJrq8bbv5cFfe+s9T/jWw3ODk5mf381/Xi4+Oj3NxcnTt3zjTtVj8ff/X4449rz549OnPm\njLZv3y4nJycFBQVJks6dO6dnn31WzZs3l4+Pj4YNG2b2fCTz30V/lZCQoD59+qhJkyby8fHRxIkT\nCyx/8/Ms6ndLcnKy9u7da/od5evrq+joaLPnD6BsomgC4FA3FzE3zkn4448/TNNSUlLk6elp+vnm\nq45dv35dp0+fVr169XTq1Cm9+uqrmjZtmpKSknTq1KkCJ/ynpaWZnV+RkpKievXq3XbeG0JDQ/Xr\nr7/q8OHD+uGHHxQeHm5Vn0WJjo7W2rVrtWrVKp06dcr0F/Ybz6Ft27b65ptvlJCQoNDQUA0ePFiS\nVLVqVb3//vuKi4vTN998ozlz5pgd4mjJXXfdpczMTNPP1nyZMxgMFs81Kkq9evWUmppqdg7IX193\na/pKTk42/Zyfn6/U1NRb6uvatWsaNGiQhg8frvj4eJ06dUohISFWZygsx5UrV3Tp0qVCc1j7Opbk\n+rrh5vd1ce87S+rWrWv2Gb2x/m/463pJSUmRq6urWaF0uzw8PPTggw9qxYoViomJ0dNPP216XhMm\nTJCTk5N27Nih5ORkzZs3r8DzsbQ39rXXXlPjxo0VGxur5ORkjR8/vsDyNz/Pon63GAwG3XfffTp1\n6pTpX2pqqmbMmGHLUwdgBxRNAMqMGxdwmDBhgq5evapDhw7pq6++Mttzs3//fq1evVq5ubn697//\n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\nO4WEhCgxMdHRkSwaN26cAgIC5OHhocOHDzs6zi25dOmSwsPDFRgYqKCgIA0YMEAXLlxwdKxi9evX\nT/fdd586d+6sHj166MCBA46OdMs++OCDcvMeMRqNat++vYKDgxUcHFzoFUDLmqtXr+q1115T27Zt\nFRQUpFdffdXRkSw6efKkaf0GBwfLaDSWi1tNrF+/Xp07d1ZwcLDuu+8+rV692tGRivXDDz/o/vvv\nV1BQkB599FGdOHHC0ZEKKGo7Upa3h0VlLuvbxMLylfVtYlHrtCxvE4t7H5TFbWJRmcvjNtEWFE3l\nyMiRIzVkyBDFxsZqyJAhGjFihKMjWRQaGqq1a9fKx8fH0VFumZOTk1555RXt3btXO3bsUIMGDfTO\nO+84OlaxPvnkE23fvl1bt27Vyy+/rJdfftnRkW7J/v37tXfv3nL1Hlm4cKG2bdumbdu26eGHH3Z0\nnGL961//UsWKFRUbG6sdO3borbfecnQki+rXr29av9u2bVNoaKjCw8MdHcui/Px8DRs2TPPmzdO2\nbds0b948vfjii7p+/bqjoxUpPT1dkZGR+uKLL7Rjxw4988wzev311x0dq4CitiNleXtYVOayvk0s\nLF9Z3yYWtU7L8jbR0vugrG4TLWUub9tEW1A0lRPnz59XXFycwsLCJElhYWGKi4srU3/x+atOnTrJ\n29vb0TGsUr16dXXu3Nn0c2BgoJKTkx2Y6NZUq1bN9Pj333+Xs3PZ/2hfu3ZNo0aN0vTp0x0d5Y51\n+fJlLV26VG+99ZacnJwkSXXq1HFwqluXnZ2t6Oho9e/f39FRiuXs7Kzff/9dkpSRkaG6deuW6c/h\n8ePHVadOHTVq1EiS1K1bN23atEkXL150cDJzhW1Hyvr2sKhtX1nfJhaWr6xvE4tap2V5m1hU5rK8\nTSzr7117cdjNbWGd1NRUeXl5ycXFRdKfN/719PRUSkqKatWq5eB0d6br16/riy++UI8ePRwd5ZYM\nHz5cmzdvVn5+vmJiYhwdp1iTJk1S7969Vb9+fUdHscrQoUOVn5+vTp06afz48fLw8HB0pCIlJSWp\nRo0amjJlirZu3aq77rpL48aNU6dOnRwd7ZasW7dOnp6eat26taOjWOTk5KQvv/xS/fr1k7u7uy5f\nvmx2o/ayqGHDhjp79qx++eUXtW3bVt9++60kKTk5WTVr1nRwOsvYHjoG28TSxTax7Cs7pTdQxowe\nPVp33XWXnn/+eUdHuSUff/yxDh06pPHjx+tf//qXo+NYtHv3bu3bt09DhgxxdBSrrFu3Ttu3bzdt\niEePHu3oSBbl5eXpxIkTCggI0E8//aR3331XAwcONO0RKesWL16sAQMGODpGsXJzczVjxgx9/fXX\nOnTokJYuXarBgwfr8uXLjo5WpGrVqmnBggV688039cADD+j8+fOqVq2aXF35WyoKxzax9LBNLB8o\nmsoJg8Gg06dPKy8vT9KfX4bS0tLYXVpKxo0bp8TERC1YsKBM7da/FREREdq6dasuXbrk6ChF2r59\nu44dO6aAgAAZjUadPn1aTz/9tH788UdHR7PoxuetYsWKeu6557Rr1y4HJ7LMx8dHrq6upsOYAgMD\nVbNmzTJ10nxRTp8+re3bt6t3796OjlKsgwcP6syZM+rYsaMkqWPHjnJ3d9exY8ccnMyyBx54QOvX\nr9dPP/2k559/XlevXlWDBg0cHatYbA/tj21i6WKbWD6Ur3f+31jt2rVlNBpNu5hjYmIUEBDAoQil\nYMKECdq/f7+WLFmiihUrOjpOsS5fvqyUlBTTz+vWrVP16tVVvXp1B6aybOTIkTpy5IgOHjyogwcP\nysvLS8uXL9dDDz3k6GhFunLlijIyMiT9eeL/ihUrZDQaHZzKspo1a6pz587avHmzpD+vOHb+/Ply\n8cX4m2++Ubdu3VSjRg1HRymWl5eXTp8+rfj4eEnS0aNHde7cuTK/ns+ePSvpz8OuJkyYoMGDB+uu\nu+5ycKrisT20L7aJpY9tYvnglJ6enu/oELg1x44dU2RkpNLT0+Xh4aG5c+eqcePGjo5VpNGjR2vN\nmjU6e/asatasqRo1apT5v0L89ttv6tSpkxo1aqRKlSpJ+vNqXkuWLHFwsqKdO3dO/fr1U2Zmppyd\nnVW9enVNnDixzJ8HcjOj0ahly5apRYsWjo5SpBMnTmjgwIHKy8vT9evX1bRpU02ZMkX16tVzdDSL\nTpw4oZdeekn/+9//5OrqqvHjxyskJMTRsYrVrl07TZkyRV27dnV0lFvy7bffaubMmaYLbowdO1aP\nPfaYg1NZNnz4cP3888/Kzs7WQw89pEmTJpl+75UVRW1HyvL2sKjMZX2bWFi+BQsWlOltYmGZV69e\nXaa3ibfyPihr28TCMi9durRcbhNtQdEEAAAAABZweB4AAAAAWEDRBAAAAAAWUDQBAAAAgAUUTQAA\nAABgAUUTAAAAAFhA0QQAAAAAFlA0AQD+Nu655x7FxcU5OgYAoJyhaAIA/C2kp6frzJkzatq0qaOj\nAADKGYomAOXG5MmT9fzzz9/WskuWLNEjjzxS5PywsDB9/fXXhbY1GAw6ceLEbY1b1u3atUtt27aV\nwWDQmjVr7Dbujh07FBgYaLfxJOnXX3+Vt7e3unbtKm9vb82dO9eu49/sTn5P/VVoaKgWLVrk6BhW\n69ixo7Zu3XpLbT08PHT8+PFC5xX3uwdA+UDRBKBUGY1G1atXTwaDQY0bN1ZkZKQuX77s6FgFxMTE\nqF+/foXOS01NlZ+fnyQpMjJS7733nh2Tla5JkyZp6NChSk1N1WOPPVZq4/z1S2VQUJD27t1bauMV\n5tdff1V+fr46d+6sY8eOae/evRowYMBtvx+XLFmiGjVqyGAwyMfHR8HBwVq/fv0tLXvzewpl065d\nu9S5c2dHxwBQRlA0ASh1S5cuVWpqqrZs2aL9+/frww8/LNAmPz9f169fd0C6v7fk5GQ1b97c0THs\n4vDhw3JyclLt2rXVvXt3NWrUSF999ZWqVKly233ee++9Sk1N1cmTJzVw4EANHjxY6enpJZjavnJz\ncx0dweFYBwAKQ9EEwG68vLzUtWtX/fbbb5L+PGxn4sSJ6t69uzw9PXXixAmlpaUpIiJCfn5+atOm\njRYuXGjWx9WrVzV48GB5e3vr/vvv18GDB03zoqKi1Lp1a3l7e6tDhw76/vvvzZbNz8/XqFGj5Ovr\nq/bt22vLli2meZYOIbqxl+TLL79UdHS0Zs2aJYPBoD59+uijjz7SwIEDzdqPHj1aY8aMKbQvo9Go\njz76SEFBQfLy8tLLL7+sc+fOKSwsTN7e3urVq5fZl+5nnnlGTZo0ka+vr3r06GFad5K0YcMGdejQ\nQd7e3mrevLk+/vhjSdLFixfVp08f+fr6ys/PTz169Ci0IG3durVOnDihiIgIGQwGXbt2TUajUT/9\n9JOpzc2HRJ48eVIeHh76+uuv1bJlS/n7+5sVwHl5eZo+fbrpNejSpYtSUlLUo0cPSVJwcLAMBoNW\nrFihrVu3qkWLFqZljx49qtDQUPn6+qpjx45au3ataV5kZKTeeOMN9e7dW97e3nr44YeVlJRU6PqV\npLVr16pjx47y9fVVaGiojh49Kklavny5Tp06pQkTJujYsWMKCwuTk5OT2bKLFy/WvffeK29vb7Vq\n1UoLFiwocpybOTs7a8CAAcrKyjJlW7hwodq0aSM/Pz9FREQoLS3N1P7mPW+38zqW1Pq68ZouWrRI\nLVu2VM+ePSVZft8V1//mzZvVvn17+fr6atSoUcrPzzfNu379uqZNm6aWLVuqUaNGGjZsmDIyMsyy\nLF68WPfcc4/q16+vL774Qr/88ouCgoJM/RUmLS1N9erV0//+9z/TtLi4OPn7+ysnJ0dJSUnq2bOn\nGjRoIH9/fw0dOtTsc2Y0GjVz5kzT5zI3N9fssxAbG6uQkBD5+vqqadOmGjVqlLKzs80ybNiwQa1a\ntZK/v7/Gjx9f5B+Bjh07pieeeEJ+fn4KDAzUypUrC20HoGyhaAJgNykpKdq4caOMRqNp2rJlyzRz\n5kylpKTIx8dHzz77rAwGg44cOaKFCxdqwoQJZsXN2rVr9cQTTygpKUnh4eHq37+/cnJyJEkNGjTQ\nunXrdOrUKY0ZM0bDhg3TmTNnTMvu3btXfn5+SkxM1NixYzVw4ECzL1nF+cc//qHw8HC9+uqrSk1N\n1bJly9S7d29t2rTJ9AUsNzdXK1asUN++fYvsZ/Xq1Vq1apX27t2r9evXKywsTOPHj1dCQoKuX79u\ndq5N165dFRsbq/j4eLVq1UpDhw41zRs+fLiioqKUkpKinTt3mg4lmj17try8vJSYmKj4+HiNHz++\nQHEgSfv375e3t7dpT2DFihVvaT3s2rVLe/bs0XfffaepU6eaipI5c+Zo+fLlio6OVnJysmbPni13\nd3etW7dOkrRt2zalpqbqqaeeMusvJydHEREReuihh5SQkKApU6bo+eefV3x8vKnN8uXLNWbMGJ04\ncUL+/v6aOHFiodkSEhI0ZMgQTZ48WYmJierWrZsiIiJ07do15efny9XVVT179tTZs2fVqFGjAsvX\nrl1by5YtU3JysubMmaM333xT+/fvL3ad5ObmatGiRapSpYr8/f21ZcsWvfvuu1qwYIGOHj1qem8X\nxtrXsSTX1w3bt2/Xzz//rBUrVkiy/L6z1P/Fixc1cOBAjRs3TomJifLz89PPP/9sWm7JkiX6+uuv\ntWbNGu3fv19XrlwpUAjFxsYqNjZWCxYs0NixY/Xhhx/qu+++065du7Ry5Upt27atQH5PT0+1b99e\nq1evNk2LiYlRr1695Obmpvz8fL322ms6cuSIdu/erZSUFH3wwQdmfcTExOjbb7/VyZMn5erqajbP\n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\nl6QTJ04oMTFRxcXFWr16tfbu3ashQ4Y4lLFVq1Zlrq/j7e2t2267TRMmTFDfvn1t/pJeHWfOnFG9\nevXUvHlzFRQU2JyXUlRUpJUrVyo/P19eXl5q3Lix9Ze+devWaf/+/SotLVWTJk1kNpurPDwvJCRE\nq1atUnFxsbZt22YddlgV48eP17PPPquMjAyVlpZq165d1r/Gl/e6XRQeHq4GDRropZdeUnFxsTZu\n3Kh169Zp1KhRVd72RSNHjrSec1JcXKzFixerXr16SkhIsPnFdMaMGdqwYYO8vb2ty4qKinT+/Hm1\naNFCnp6eWr9+vb766iuHM0i/X/dr+fLl2rFjh86fP685c+YoPDxc7du3t2l3Oe+jM1+v8tj73FVm\n6NCh2rNnj/U7mpiYqGPHjtm8Lq+++qoOHjyoM2fOaM6cObr99tvLnEN0uWJiYpScnKyPPvrIOjTv\n4nNq2LChmjRpopycHOtkG1V15swZNW7cWI0aNdLevXv15ptvlmnz8ssvKy8vT1lZWUpMTCxz7p70\n++uTnp6u5ORkFRcXq7i4WFu3brWeFwjAfVE0AXAr//jHP3T48GF1795dY8eO1cyZM61DniRp2LBh\n+vDDD9WhQwetWLFC7777rry8vNS9e3c9+OCDioqKUnBwsHbv3q1+/frZ9B0eHq79+/erc+fOmjt3\nrt5+++0qnXNzqXHjxmnPnj0KCgqyua7TnXfeqd27d1c6NM8Ro0ePVmBgoHr06KF+/fqVuRjsihUr\nFBoaqsDAQC1btkyvv/66JCkjI0O33XabAgICNGTIEN133326/vrrq7TNWbNm6cCBA+rQoYPmzZtn\n84tnZSZPnqyRI0dq5MiRCgwM1JQpU3Tu3DlJ0mOPPaa4uDgFBQWVmS2sXr16Sk5O1vr169W5c2c9\n8sgjeu2119S1a9cqb/ui4OBgJSUlacaMGercubPWrl2r5ORk1atXr9J1GzdurPnz5+uee+5R+/bt\nlZKSYp35z1GDBg3SrFmzNH78eHXr1k0HDx7UG2+8UW5bR99HZ75e5ansc2dPixYt9NZbb+npp59W\np06dtH//fpvv4dixYxUbG6vhw4dbz+NbsGCBU3JL0s0336z9+/erdevWNhPOPProo0pLS1NQUJDu\nuOMOh69JNnfuXKWmpqpdu3Z66KGHNHLkyDJthg0bpoEDB+q6667TkCFDysyqKf3+Gfvwww+1atUq\nde/eXV27dtWTTz6p8+fPO/5kAbiUKS8vr/Lj7QAAuzIzM/U///M/+vXXX9WkSROj4wAAACfiSBMA\nVNOFCxe0ZMkS3X777RRMAADUQYYVTenp6YqKilJYWJiioqKUkZFRps28efPUpUsXRUZGKjIyUo88\n8ogBSQGgYmfPnlVgYKC+/vprzZw50+g4AACgBhg2PO/WW2+1jm1esWKF3nvvPX388cc2bebNm6ez\nZ8/qmWeeMSIiAAAAAMg509U46MSJE0pLS7NezC06OlrTp09Xbm6udeYrR+Tl5dlcdO+i5s2b21zv\nBQAAAAAcZcjwvOzsbPn7+8tsNkuSzGaz2rZtq6ysrDJtV61apYiICI0cOdJ6wb8/eu2119SrVy+b\nfxMnTqRgAgAAAFBtbj0RxL333qu0tDR99913mjp1qsaMGVPmCtySFBcXp7S0NJt///jHPwxI7BqX\nc/FIo5HZNcjsGmR2DTK7Bpldg8yuQWbXqI2Zq8uQ4XkBAQHKycmRxWKR2WyWxWLRkSNH1K5dO5t2\nrVu3tt4ePHiwAgICtHv3bkVGRtq08/X1la+vr0uyu4OSkhKjIziMzK5BZtcgs2uQ2TXI7Bpkdg0y\nu0ZtzFxdhhxp8vPzU0hIiFJTUyVJqampCg0NLXM+U05OjvX2jh07dPjwYQUHB7s0KwAAAIArmyFH\nmiQpISFBcXFxWrBggXx9fZWYmChJiomJ0eOPP64+ffpozpw5SktLk4eHh+rVq6ekpCSbo08AAAAA\nUNMMK5q6du2qDRs2lFmekpJivX2xkAIAAAAAoxhWNAEAAAC4fCUlJTp58qSKiopcul2z2azMzEyX\nbtNZPDw81KhRIzVp0kQmk6nK61E0AQAAALXQyZMn1aBBA7Vq1cqhAqC6CgsL5e3t7bLtOUtpaaks\nFovy8vKUm5srPz+/Kq/r1lOOAwAAAChfUVGRGjdu7NKCqTYzmUzy9PRUixYtVFhY6NC6FE0AAABA\nLUXB5LjLec0omgAAAADADs5pAgAAAOqA5J2na3wbo0Oa1Pg23BFFEwAAAFBHnCsuVUFxqdP79fEy\nqYHXlTsUkOF5AAAAQB1RUFyq/xZanP6vqoVYQUGBevXqpSFDhujChQtOe17PP/+8fH19tXv37jKP\nnTp1SjExMQoPD1dERITGjh2r3Nxcp21b4kgTAAAAUOd0ae7ltL7STxVXua2Pj49++ukndevWTXv3\n7lX37t2rvf3t27frp59+UmBgYLmPm0wmTZ06Vdddd50k6YknntBTTz2lxYsXV3vbF3GkCQAAAIDT\nXJzWe9euXdXu6/z585o+fboWLlxYYZtmzZpZCyZJCg8Pd/rFdznSBAAAAMBpEhMTdfjwYe3cuVPR\n0dFlHh8/frz2799f7rrr169XgwYNrPefe+453XHHHWrfvn2Vtn3hwgW9+eabuvnmmy8vfAUomgAA\nAAA4RXp6upKSkvT000/r888/L7fNO++8U6W+Nm/erG3btumpp56q8vZnzJihhg0b6v7776/yOlVB\n0QQAAACg2iwWiyZNmqQFCxaoffv2WrRoUbntqnqkadOmTdq7d69CQ0MlSTk5ORo1apSWLFmiG264\nocy6s2fPVkZGhpKTk+Xh4dyzkCiaAAAAgDrGkckbnOXll19Wz549rTPnnT17VseOHVPr1q1t2lX1\nSFN8fLzi4+Ot90NCQrRixQr16NGjTNs5c+Zo+/btWrlyperXr1+9J1IOiiYAAACgjvDxMkky11C/\nFdu9e7dWrFihDRs2SJI8PDx09dVXa+fOnWWKJmeJiYnR448/Lm9vby1atEhdunTRkCFDJEnt27fX\n8uXLnbYtiiYAAACgjmhg0EVoe/TooR9++MFm2WeffebUbezcudPmfkpKivV2Xl6eU7f1RxRNAAAA\nQB0wOqSJ0RHqLK7TBAAAAAB2UDQBAAAAtVRpaanREWqdy3nNKJoAAACAWsjDw0MWi8XoGLVOUVGR\nPD0dO0uJogkAAACohRo1aqS8vDyONlVRaWmpzp8/r9zcXDVt2tShdZkIAgAAAKiFmjRpotzcXGVl\nZbl0u8XFxfLy8nLpNp3F09NTzZo1k4+Pj2Pr1VAeAAAAADXIZDLJz8/P5dvdt2+fOnXq5PLtGonh\neQAAAABgB0UTAAAAANhB0QQAAAAAdlA0AQAAAIAdFE0AAAAAYAdFEwAAAADYQdEEAAAAAHZQNAEA\nAACAHRRNAAAAAGAHRRMAAAAA2GFY0ZSenq6oqCiFhYUpKipKGRkZFbbdt2+f2rZtq9mzZ7swIQAA\nAAAYWDTFx8drwoQJ2rJliyZMmKBp06aV285isWjatGkaPny4ixMCAAAAgEFF04kTJ5SWlqbo6GhJ\nUnR0tNLS0pSbm1umbUJCgv70pz+pc+fOro4JAAAAAMYUTdnZ2fL395fZbJYkmc1mtW3bVllZWTbt\ndu7cqQ0bNmjSpEl2+8vLy9OhQ4ds/v2xLwAAAAC4HJ5GB6hIcXGxpk2bpiVLlliLq4q89tprmj9/\nvs2yoKAg7dixQwcOHFBJSUlNRjXEvn37jI7gMDK7Bpldg8yuQWbXILNrkNk1yOwatTGzPZ6enurY\nsWOFj5vy8vJKXZhH0u/D88LCwnTgwAGZzWZZLBZ17NhRW7duVcuWLSVJmZmZGjhwoBo2bChJys/P\nlySNHDlSL730kk1/eXl51scvMpvNateunQuejevt27dPwcHBRsdwCJldg8yuQWbXILNrkNk1yOwa\nZHaN2pi5ugw50uTn56eQkBClpqYqNjZWqampCg0NtRZMkhQYGKj9+/db78+bN09nz57VM888U6Y/\nX19f+fr6uiQ7AAAAgCuLYbPnJSQkaOnSpQoLC9PSpUuVkJAgSYqJidG2bduMigUAAAAANgw7p6lr\n167asGFDmeUpKSnltp85c2ZNRwIAAACAMgw70gQAAAAAtQFFEwAAAADYQdEEAAAAAHZQNAEAAACA\nHRRNAAAAAGAHRRMAAAAA2EHRBAAAAAB2UDQBAAAAgB0UTQAAAABgB0UTAAAAANhB0QQAAAAAdlA0\nAQAAAIAdFE0AAAAAYAdFEwAAAADY4VDRVFBQUFM5AAAAAMAtOVQ0PfDAA+UuLyoqckoYAAAAAHA3\nDhVN9evX1wsvvGCz7NixYxo+fLhTQwEAAACAu3CoaHrppZf08ccfa926dZKk7du368Ybb9TQoUNr\nJBwAAAAAGM2zsgY7d+5Ut27dVK9ePfn4+Ojdd9/ViBEjtHfvXr3yyit68cUXOdIEAAAAoM6qtGi6\n8847dezYMXXq1ElXXXWVevTooRtvvFFLlizRmjVrdNVVV7kiJwAAAAAYotKiadeuXcrLy9Pu3bv1\n888/W/8vKCjQ0KFD1bNnT/Xs2VN///vfXZEXAAAAAFyq0qJJknx9fRUREaGIiAib5QcPHrQWUgAA\nAABQF1WpaKpIhw4d1KFDB85pAgAAAFBnOTR7HgAAAABcaSiaAAAAAMCOSoumpUuXWm/v37+/RsMA\nAAAAgLuptGh65plnrLcHDhxYo2EAAAAAwN1UOhFE+/btNWvWLHXv3l3FxcV69913y203btw4p4cD\nAAAAAKNVWjQtW7ZML730kj744AMVFxdrxYoVZdqYTCaKJgAAAAB1UqVFU5cuXfTKK69IkkaMGKE1\na9bUeCgAAAAAcBcOXadpzZo1ysjIUGpqqo4cOaK2bdsqOjpanTt3rql8AAAAAGAoh6YcX7t2rQYN\nGqR9+/apWbNmSk9P1+DBg/Xpp5/WVD4AAAAAMJRDR5rmzp2r5cuX6/rrr7cu27hxo2bMmKFhw4Y5\nPRwAAAAAGM2hI03Z2dmKiIiwWTZgwABlZ2c7NRQAAAAAuAuHiqaQkBAtXrzYZtmSJUsUEhLi8IbT\n09MVFRWlsLAwRUVFKSMjo0yb9957TxEREYqMjFRERIQSExMd3g4AAAAAVIdDw/MWLVqk0aNHKzEx\nUQEBAcrOzlaDBg2UnJzs8Ibj4+M1YcIExcbGasWKFZo2bZo+/vhjmzYjRozQXXfdJZPJpN9++00D\nBgxQZGSkrr76aoe3BwAAAACXw6GiqWvXrtq8ebN+/PFHHT16VG3atFF4eLi8vLwc2uiJEyeUlpam\n1atXS5Kio6M1ffp05ebmqmXLltZ2TZo0sd4+d+6cSkpKZDKZyvSXl5en/Px8m2Vms1nt2rVzKBcA\nAAAA/JEpLy+v1NUb3b59ux544AH98MMP1mX9+vVTUlKSevfubdP2008/1Zw5c3TgwAH97W9/0+TJ\nk8v0N2/ePM2fP99mWVBQkHbs2KEDBw6opKSkZp4IAAAAgFrP09NTHTt2rPhxF2a5LMOGDdOwYcOU\nmZmpu+66S0OGDFFwcLBNm7i4OI0ZM8ZmmdlsliS7T7622rdvX5nXwN2R2TXI7Bpkdg0yuwaZXYPM\nrkFm16iNmavLkKIpICBAOTk5slgsMpvNslgsOnLkiN3hdIGBgQoLC9O6devKvEm+vr7y9fWt6dgA\nAAAArkAOzZ7nLH5+fgoJCVFqaqokKTU1VaGhoTbnM0nSr7/+ar198uRJbdy4UT179nRpVgAAAABX\nNoeKppkzZ2rHjh1O2XBCQoKWLl2qsLAwLV26VAkJCZKkmJgYbdu2TZL01ltvqX///oqMjNSIESP0\nl7/8RTfccINTtg8AAAAAVeHQ8DyLxaJRo0apZcuWio2NVUxMjAICAi5rw127dtWGDRvKLE9JSbHe\nnjdv3mX1DQAAAADO4tCRpgULFmjPnj168skntXPnTvXr10+33Xab3n//fZ05c6amMgIAAACAYRw+\np8lsNutPf/qT3njjDa1fv165ubmaNGmSunXrpilTpignJ6cmcgIAAACAIRwumk6fPq133nlHt9xy\ni4YNG6bw8HCtXbtW//nPf9SwYUNFR0fXRE4AAAAAMIRD5zSNHz9eX375pSIiInTvvfdq+PDhql+/\nvvXx5557TkFBQU4PCQAAAABGcahouuaaa/TCCy+odevW5T7u4eGhvXv3OiUYAAAAALgDh4fnlVcw\nLV682Hrbx8eneokAAAAAwI04PHteef7+9787JQwAAAAAuJsqDc/75ptvJP1+naZ///vfKi0ttT52\n6NAhNWrUqGbSAQAAAIDBqlQ0TZkyRZJUWFioBx980LrcZDKpVatWFR6BAgAAAIDarkpF044dOyRJ\nEydOVFJSUo0GAgAAAAB3UmnRtGnTJl177bWSpDFjxliH6v3RwIEDnZsMAAAAANxApUXTI488ou+/\n/17S/w3T+yOTyaS0tDTnJgMAAAAAN1Bp0XSxYJL+b5geAAAAAFwpHL5OEwAAAABcSSo90lTROUx/\nxDlNAAAAAOqiSoumis5juhTnNAEAAACoqyotmjiPCQAAAMCVzKEpx+0N1WN4HgAAAIC6iCnHAQAA\nAMAOphwHAAAAADuYchwAAAAA7HCoaCoqKtKzzz6rPn36yN/fX3379tUzzzyjwsLCmsoHAAAAAIaq\ndHjepR5++GGlp6drwYIFCgwMVGZmphYtWqQjR45oyZIlNZURAAAAAAzjUNH0ySefaNu2bfL19ZUk\nde/eXeHh4erTpw9FEwAAAIA6yaHhea1bt9a5c+dslp07d05t2rRxaigAAAAAcBeVHmm69NpMsbGx\nGjVqlCZOnCh/f39lZ2fr9ddf1+jRo2s0JAAAAAAYpdKiqbxrMy1cuNDm/rJlyzRt2jTnpQIAAAAA\nN1Fp0cS1mQAAAABcyRyaCEKSjh8/ri1btujkyZMqLS21Lh83bpxTgwEAAACAO3CoaPrXv/6liRMn\nqlOnTtqzZ4+6d++uX375Rf3796doAgAAAFAnOTR73rPPPqslS5Zo48aN8vHx0caNG/Xiiy+qd+/e\nNZUPAAAAAAzlUNGUlZWlP//5zzbLxowZo+TkZKeGAgAAAAB34VDR1LJlSx0/flySFBQUpM2bN+vA\ngQOyWCw1Eg4AAAAAjOZQ0XT33Xfr+++/lyRNmjRJt956qyIjI3Xfffc5vOH09HRFRUUpLCxMUVFR\nysjIKNNmwYIF6t+/vyIiIjRw4EBt2LDB4e0AAAAAQHU4NBHEpddiuvPOOxUZGamCggJ169bN4Q3H\nx8drwoQJio2N1YoVKzRt2jR9/PHHNm3CwsL04IMPysfHRzt37tTw4cP166+/qkGDBg5vDwAAAAAu\nh8NTjl8qMDDwstY7ceKE0tLStHr1aklSdHS0pk+frtzcXLVs2dLa7sYbb7TevvrqqyVJp06dUkBA\ngE1/eXl5ys/Pt1lmNpvVrl27y8oHAAAAABeZ8vLySitv9ruioiK98MIL+uCDD3T06FG1adNGt99+\nux555BF5e3tXeaPbt2/XAw88oB9++MG6rF+/fkpKSqpwJr5//vOfSkxM1L///e8yj82bN0/z58+3\nWRYUFKQdO3bowIEDKikpqXI2AAAAAFcWT09PdezYseLHHens4YcfVnp6uubPn6/AwEBlZmZq0aJF\nOnLkiJYsWVLtsBX59ttv9dxzz+nDDz8s9/G4uDiNGTPGZpnZbJYku0++ttq3b5+Cg4ONjuEQMrsG\nmV2DzK5BZtcgs2uQ2TXI7Bq1MXN1OVQ0ffLJJ9q2bZt8fX0lSd27d1d4eLj69OnjUNEUEBCgnJwc\nWSwWmc1mWSwWHTlypNzhdJs3b9bEiRO1fPnyCt8cX19fayYANS9552mn9ZWf760thc7rb3RIE6f1\nBQAAIDlYNLVu3Vrnzp2zKVDOnTunNm3aOLRRPz8/hYSEKDU1VbGxsUpNTVVoaKjN+UyStHXrVt17\n7716++23uYAu4GbOFZeqoLjKo3srVFDsoZKCC9Xux8fLpAZepmr3AwAA8EeVFk3ffPON9XZsbKxG\njRqliRMnyt/fX9nZ2Xr99dc1evRohzeckJCguLg4LViwQL6+vkpMTJQkxcTE6PHHH1efPn3017/+\nVefOnbOZtS8pKUk9e/Z0eHsAnKuguFT/Laz+NdqKSjx03gn9SGaKJgAAUCMqLZqmTJlSZtnChQtt\n7i9btsymsKmKrl27lnvdpZSUFOvtr776yqE+Abhel+Ze1Vo/P79ATZs2rFYf6aeKq7U+AACAPZUW\nTTt27HBFDgAAAABwSw5fpykjI0Opqak6cuSI2rZtq+joaHXu3LkmsgFXBCZVAAAAcG8OFU1r167V\n/fffr6FDhyowMFDp6ekaPHiwEhMTNWzYsJrKCNR5TKoAAADgvhwqmubOnavly5fr+uuvty7buHGj\nZsyYQdEEVAOTKgAAALgvh4qm7OxsRURE2CwbMGCAsrOznRoKuFIxqQIAAID78XCkcUhIiBYvXmyz\nbMmSJQoJCXFqKAAAAABwFw4daVq4cKHuvPNOJSYmKiAgQNnZ2WrQoIGSk5NrKh8AAAAAGMqhoik4\nOFibN2/Wjz/+qKNHj6pNmzYKDw+Xl1f1hhQBAAAAgLuqctFksVgUEBCgQ4cOacCAATWZCQCcjqnd\nAQDA5apy0WSfyhs8AAARtElEQVQ2m9W5c2edOnVKbdu2rclMAFAjmNodAABcDoeG591xxx2KjY3V\nAw88oICAAJvHBg4c6NRgAOBsTO0OAAAuh0NF0xtvvCFJev75522Wm0wmpaWlOS8VANQgpnYHAACO\ncKho2rFjR03lAAAAAAC35NB1moqKivTss8+qb9++8vf3V9++ffXMM8+osLCwpvIBAAAAgKEcOtIU\nHx+vjIwMzZ8/X4GBgcrMzNSiRYt05MgRLVmypKYyAgAAAIBhHCqaPv30U23btk2+vr6SpO7duys8\nPFx9+vShaAIAAABQJzk0PK9169Y6d+6czbJz586pTZs2Tg0FAAAAAO7CoSNNsbGxGjVqlCZOnCh/\nf39lZ2fr9ddf1+jRo/XNN99Y2zH9OAAAAIC6wqGiadmyZZKkhQsX2ix/8803rbeZfhwAAABAXcKU\n4wAAAABgh0PnNAEAAADAlYaiCQAAAADsoGgCAAAAADsomgAAAADADocmggDcXfLO007rKz/fW1sK\nndff6JAmTusLAAAArkPRhDrnXHGpCopLq91PQbGHSgouVLsfHy+TGniZqt0PAAAAjEHRhDqnoLhU\n/y20VLufohIPnXdCP5KZogkAAKAWo2hCndWluVe11s/PL1DTpg2r1Uf6qeJqrQ8AAADjMREEAAAA\nANjBkSYAcFNMbAIAgHugaAIAN8bEJgAAGI+iCQDcGBObAABgPIomAKgFmNgEAADjGDYRRHp6uqKi\nohQWFqaoqChlZGSUafPll19q0KBBatWqlWbPnm1ASgAAAABXOsOKpvj4eE2YMEFbtmzRhAkTNG3a\ntDJtOnTooJdffllTp041ICEAAAAAGFQ0nThxQmlpaYqOjpYkRUdHKy0tTbm5uTbtOnXqpNDQUJnN\nZiNiAgAAAIAx5zRlZ2fL39/fWgyZzWa1bdtWWVlZatmypcP95eXlKT8/32aZ2WxWu3btnJIXAAAA\nwJWrTkwE8dprr2n+/Pk2y4KCgrRjxw4dOHBAJSUlBiWrOfv27TM6gsNckTk/31sFxR4qKvFQfn6B\nE/rLr7yRHUVFniq4cEGexRe0b9+xCrZBZjLXnczOxs861yCza5DZNcjsGrUxsz2enp7q2LFjxY+7\nMItVQECAcnJyZLFYZDabZbFYdOTIkcs+MhQXF6cxY8bYLLt4FMvek6+t9u3bp+DgYKNjOMRVmbcU\nnlZJwQWdL7RUe6aw/Px8NW3atFp9nLAUy8fbrKY+HgoODiy3DZnJXJcyOxM/61yDzK5BZtcgs2vU\nxszVZUjR5Ofnp5CQEKWmpio2NlapqakKDQ29rKF5kuTr6ytfX18npwQAAAAAA2fPS0hI0NKlSxUW\nFqalS5cqISFBkhQTE6Nt27ZJkr7//nv16NFDr776qt566y316NFDGzZsMCoyAAAAgCuQYec0de3a\ntdwCKCUlxXp7wIAB2r17tytjAQAAAIANw440AQAAAEBtQNEEAAAAAHZQNAEAAACAHRRNAAAAAGAH\nRRMAAAAA2EHRBAAAAAB2GDblOACg7kneedppfeXne2tLofP6Gx3SxGl9AQCuLBRNAACnOldcqoLi\n0mr3U1DsoZKCC9Xux8fLpAZepmr3AwC4clE0AQCcqqC4VP8ttFS7n6ISD513Qj+SmaIJAFAtFE0A\ngBrRpblXtdbPzy9Q06YNq9VH+qniaq0PAIDERBAAAAAAYBdHmlAhTugGAAAAKJpQCU7oBgAAwJWO\nogl2cUI3AAAArnQUTagSTugGAADAlYqJIAAAAADADoomAAAAALCDogkAAAAA7KBoAgAAAAA7KJoA\nAAAAwA5mzwMAXNG4kDcAoDIUTQCAKx4X8gYA2EPRBAC44nEhbwCAPRRNAAD8f1zIGwBQHiaCAAAA\nAAA7KJoAAAAAwA6KJgAAAACwg6IJAAAAAOygaAIAAAAAO5g9DwCAWoYL8gKAa1E0uQg7OACAM3FB\nXgBwHYomF2IHBwBwFi7ICwCuQ9HkQuzgAADOxgV5AaDmUTQZgB0cAOBKwzB1ALWZYUVTenq64uLi\ndOrUKTVv3lyJiYnq3LmzTRuLxaJHH31UX3zxhUwmk+Lj4zV+/HiDEgMAgOpgmDqA2sqwoik+Pl4T\nJkxQbGysVqxYoWnTpunjjz+2abNy5Urt379fW7du1alTp3T99ddr4MCBat++vUGpAQDA5aptw9Q5\nOgbgIkOKphMnTigtLU2rV6+WJEVHR2v69OnKzc1Vy5Ytre0+/PBD3X333fLw8FDLli01fPhwffTR\nR5o6dapNf3l5ecrPz7dZZjab1a5du5p/MlXU0MukonoeulBaqhNnq/eDvri0voqq2UfT+h5qXM9D\nDe3sLMhM5oqQmcwVITOZK3Jp5uoq9jDLy6v6l5qsSubCklKdc8aIdrOXikqq300DL8nb0/7RsT0n\nzmvfyaJqb+v0bw21Z89v1e4nuEU9dferb7cNmcns7kx5eXnV/+nloO3bt+uBBx7QDz/8YF3Wr18/\nJSUlqXfv3tZlERERWrx4sfr27StJeumll5Sdna0FCxbY9Ddv3jzNnz/fZln//v21bt26GnwWAAAA\nAK4E1f8zjRuIi4tTWlqazb+kpCT99lv1K2B3k5WVpdDQUGVlZRkdpcrI7Bpkdg0yuwaZXYPMrkFm\n1yCza9TGzM5gyPC8gIAA5eTkyGKxyGw2y2Kx6MiRI2WG07Vr106ZmZnWI01ZWVkKDAws05+vr698\nfX1dkt1oFotFhw8flsXijLHcrkFm1yCza5DZNcjsGmR2DTK7BpldozZmdgZDjjT5+fkpJCREqamp\nkqTU1FSFhobanM8kSbfddpvefvttXbhwQbm5ufrkk080YsQIIyIDAAAAuEIZNjwvISFBS5cuVVhY\nmJYuXaqEhARJUkxMjLZt2yZJGj16tDp06KC+ffvqpptu0owZM9ShQwejIgMAAAC4Ahk25XjXrl21\nYcOGMstTUlKst81msxYtWuTKWAAAAABgw/zYY489ZXQIOKZ+/fqKjIyUt7e30VGqjMyuQWbXILNr\nkNk1yOwaZHYNMrtGbcxcXYZMOQ4AAAAAtUWdmHIcAAAAAGoKRRMAAAAA2EHRVIukp6crKipKYWFh\nioqKUkZGhtGR7Jo9e7ZCQ0Pl6+ur3bt3Gx2nSk6dOqWYmBiFh4crIiJCY8eOVW5urtGxKjVmzBhd\ne+21uu6663TzzTdrx44dRkeqsueff77WfEZCQkJ0zTXXKDIyUpGRkeVOZuNuCgsL9fDDD6tv376K\niIjQQw89ZHQkuw4dOmR9fSMjIxUSElIrZk1dt26drrvuOkVGRuraa6/VmjVrjI5Uqc8++0zXX3+9\nIiIiNGzYMB08eNDoSGVUtB9x5/1hRZndfZ9YXj533ydW9Jq68z6xss+BO+4TK8pcG/eJ1UHRVIvE\nx8drwoQJ2rJliyZMmKBp06YZHcmu4cOH69NPPy33gsTuymQyaerUqfrpp5/03XffqWPHjnrqqaeM\njlWp1157TZs2bdLGjRv14IMP6sEHHzQ6UpVs375dP/30U636jLz99tv69ttv9e233+rGG280Ok6l\n/va3v6l+/frasmWLvvvuO82aNcvoSHa1b9/e+vp+++23Gj58uGJiYoyOZVdpaakmTpyopKQkffvt\nt0pKStKkSZN04cIFo6NVKC8vT3FxcXrzzTf13Xff6e6779Zf//pXo2OVUdF+xJ33hxVldvd9Ynn5\n3H2fWNFr6s77RHufA3fdJ9rLXNv2idVB0VRLnDhxQmlpaYqOjpYkRUdHKy0tza3+4vNHAwYMULt2\n7YyO4ZBmzZrpuuuus94PDw9XZmamgYmqpmnTptbbp0+floeH+3+1z58/r+nTp2vhwoVGR6mzzpw5\no+TkZM2aNUsmk0mS1KpVK4NTVV1RUZFSUlJ01113GR2lUh4eHjp9+rQkKT8/X61bt3br7+H+/fvV\nqlUrdenSRZI0ZMgQbdiwQSdPnjQ4ma3y9iPuvj+saN/n7vvE8vK5+z6xotfUnfeJFWV2532iu392\nXcWw6zTBMdnZ2fL395fZbJb0+zWs2rZtq6ysLLVs2dLgdHXThQsX9Oabb+rmm282OkqVTJkyRV99\n9ZVKS0uVmppqdJxKPffcc7rjjjvUvn17o6M45C9/+YtKS0s1YMAAPfHEE/L19TU6UoUOHDig5s2b\na/78+dq4caMaNmyo2bNna8CAAUZHq5K1a9eqbdu26t27t9FR7DKZTHrrrbc0ZswY+fj46MyZMzbX\nHHRHnTt31rFjx7R161b17dtXK1eulCRlZmaqRYsWBqezj/2hMdgn1iz2ie7PfUpvwM3MmDFDDRs2\n1P333290lCp55ZVXtGvXLj3xxBP629/+ZnQcuzZv3qxt27ZpwoQJRkdxyNq1a7Vp0ybrjnjGjBlG\nR7LLYrHo4MGDCg0N1ddff62nn35a48aNsx4RcXfvvfeexo4da3SMSpWUlGjRokX65z//qV27dik5\nOVn33HOPzpw5Y3S0CjVt2lTLli3T448/rkGDBunEiRNq2rSpPD35WyrKxz6x5rBPrB0ommqJgIAA\n5eTkyGKxSPr9l6EjR45wuLSGzJ49WxkZGVq2bJlbHdavitGjR2vjxo06deqU0VEqtGnTJu3du1eh\noaEKCQlRTk6ORo0apS+//NLoaHZd/L7Vr19f9913n3744QeDE9kXGBgoT09P6zCm8PBwtWjRwq1O\nmq9ITk6ONm3apDvuuMPoKJXauXOnjh49qv79+0uS+vfvLx8fH+3du9fgZPYNGjRI69at09dff637\n779fhYWF6tixo9GxKsX+0PXYJ9Ys9om1Q+365F/B/Pz8FBISYj3EnJqaqtDQUIYi1IA5c+Zo+/bt\nWr58uerXr290nEqdOXNGWVlZ1vtr165Vs2bN1KxZMwNT2RcfH689e/Zo586d2rlzp/z9/fXBBx/o\nhhtuMDpahc6ePav8/HxJv5/4v2rVKoWEhBicyr4WLVrouuuu01dffSXp9xnHTpw4USt+MX7//fc1\nZMgQNW/e3OgolfL391dOTo727dsnSfr11191/Phxt3+djx07Jun3YVdz5szRPffco4YNGxqcqnLs\nD12LfWLNY59YO5jy8vJKjQ6Bqtm7d6/i4uKUl5cnX19fJSYmKjg42OhYFZoxY4b+9a9/6dixY2rR\nooWaN2/u9n+F+OWXXzRgwAB16dJF3t7ekn6fzWv58uUGJ6vY8ePHNWbMGBUUFMjDw0PNmjXT3Llz\n3f48kEuFhIRoxYoV6tGjh9FRKnTw4EGNGzdOFotFFy5cULdu3TR//ny1adPG6Gh2HTx4UJMnT9Z/\n//tfeXp66oknnlBUVJTRsSoVFham+fPn66abbjI6SpWsXLlSL774onXCjZkzZ+qWW24xOJV9U6ZM\n0X/+8x8VFRXphhtu0HPPPWf9uecuKtqPuPP+sKLM7r5PLC/fsmXL3HqfWF7mNWvWuPU+sSqfA3fb\nJ5aXOTk5uVbuE6uDogkAAAAA7GB4HgAAAADYQdEEAAAAAHZQNAEAAACAHRRNAAAAAGAHRRMAAAAA\n2EHRBAAAAAB2UDQBAK4YPXv2VFpamtExAAC1DEUTAOCKkJeXp6NHj6pbt25GRwEA1DIUTQCAK8LP\nP/+sTp06ydvb2+goAIBahqIJAHBF+Pnnn3XVVVdJkgoKCjRhwgSNHTtWZ86cMTgZAMDdUTQBAK4I\nu3fvVo8ePXTw4EENHTpUXbp00bvvvqtGjRoZHQ0A4OY8jQ4AAIAr/PzzzzKZTLr11lv1/PPPa/jw\n4UZHAgDUEhRNAIA6r7S0VL/88osOHjyoyZMnUzABABzC8DwAQJ136NAhSdLq1au1ePFibdu2zeBE\nAIDahKIJAFDn7dq1Sz179lTPnj314osvauzYsTp69KjRsQAAtQRFEwCgztu9e7d69uwpSbrlllt0\n991366677lJhYaHByQAAtYEpLy+v1OgQAAAAAOCuONIEAAAAAHZQNAEAAACAHRRNAAAAAGAHRRMA\nAAAA2EHRBAAAAAB2UDQBAAAAgB0UTQAAAABgB0UTAAAAANhB0QQAAAAAdvw/pa932pGi5jsAAAAA\nSUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 900x576 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "ipS19FlBEmqK"
      },
      "source": [
        "### Continuous Case\n",
        "\n",
        "Instead of a probability mass function, a continuous random variable has a *probability density function*. This might seem like unnecessary nomenclature, but the density function and the mass function are very different creatures. An example of continuous random variable is a random variable with *exponential density*. The density function for an exponential random variable looks like this:\n",
        "\n",
        "$$f_Z(z | \\lambda) = \\lambda e^{-\\lambda z }, \\;\\; z\\ge 0$$\n",
        " \n",
        "Like a Poisson random variable, an exponential random variable can take on only non-negative values. But unlike a Poisson variable, the exponential can take on *any* non-negative values, including non-integral values such as 4.25 or 5.612401. This property makes it a poor choice for count data, which must be an integer, but a great choice for time data, temperature data (measured in Kelvins, of course), or any other precise *and positive* variable. The graph below shows two probability density functions with different $\\lambda$ values. \n",
        "\n",
        "When a random variable $Z$ has an exponential distribution with parameter $\\lambda$, we say *$Z$ is exponential* and write\n",
        "\n",
        "$$Z \\sim \\text{Exp}(\\lambda)$$\n",
        " \n",
        "Given a specific $\\lambda$, the expected value of an exponential random variable is equal to the inverse of $\\lambda$, that is:\n",
        "\n",
        "$$E[\\; Z \\;|\\; \\lambda \\;] = \\frac{1}{\\lambda}$$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "o1aeMH4VE9xs",
        "outputId": "56b50a86-cff3-4ac9-d394-f38bf30e71fa",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 319
        }
      },
      "source": [
        "# Defining our Data and assumptions (use tf.linspace for continuous)\n",
        "a = tf.range(start=0., limit=4., delta=0.04)\n",
        "a = a[..., tf.newaxis]\n",
        "lambdas = tf.constant([0.5, 1.])\n",
        "\n",
        "# Now we use TFP to compute probabilities in a vectorized manner.\n",
        "expo_pdf = tfd.Exponential(rate=lambdas).prob(a)\n",
        "\n",
        "# Visualizing our results\n",
        "plt.figure(figsize=(12.5, 4))\n",
        "for i in range(lambdas.shape[0]):\n",
        "    plt.plot(tf.transpose(a)[0], tf.transpose(expo_pdf)[i],\n",
        "             lw=3, color=TFColor[i], label=r\"$\\lambda = %.1f$\" % lambdas[i])\n",
        "    plt.fill_between(tf.transpose(a)[0], tf.transpose(expo_pdf)[i],\n",
        "                         color=TFColor[i], alpha=.33)\n",
        "plt.legend()\n",
        "plt.ylabel(\"PDF at $z$\")\n",
        "plt.xlabel(\"$z$\")\n",
        "plt.ylim(0,1.2)\n",
        "plt.title(r\"Probability density function of an Exponential random variable; differing $\\lambda$\");\n"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAEuCAYAAABbF1mLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXyU5b3//9c992SF7BsJWQi7yKJi\nFRC1p4raUsRaEHGjnlIt6jmFo+Kx3/b0+GtrFRdc6tFyuhxbjxVBRbStrXIqgkJVkEXWhD0hhOwh\nCUlm7rl/f0wYMmSykWQmCe/n4zEPMte9zOe+5p4hn1zX/bmNyspKGxEREREREQHAEeoARERERERE\nehMlSSIiIiIiIs0oSRIREREREWlGSZKIiIiIiEgzSpJERERERESaUZIkIiIiIiLSjJIkERERERGR\nZpQkiYiIiIiINKMkSaSPGzduHB9++GGPbDtp0iTWrVvXYt3m7d1twYIF/OxnP+uRfZ/SnfHn5eUx\ndepUMjMzeemll7plnx3Vk+9Da0J5vP1RZ97DrnzWuyoYn8ue0NH+ba9ve6rvz+zX5vEG+qx19fMX\niu8Mkb7KGeoARM5F48aNo6SkBNM0iY6O5uqrr+aJJ55g4MCBoQ7Nz8aNGzvUPm7cOJ5//nm++tWv\nBiGqrmsef1djf/bZZ7n88stZv359N0UXWKA4W3t/elKwjhf8Pyen3HLLLTzxxBM9/to9obe8h+eS\nvta/zeMN9Fnr6uevp/vjkksuoaamhjfeeIPzzjuvR19LpKdpJEkkRF577TUKCwtZu3YtW7Zs4ckn\nn2yxjtvtDkFk0hlHjhw5p34ZCPbxnvqcnHr01QQpmPS90T/6INBn7Ww/f8Hqjw0bNjBs2DDefvvt\noLyeSE9SkiQSYhkZGVx99dXs2rUL8P61+ZlnnmHKlClkZGTgdrvZs2cP06dPJzs7m0mTJvHnP//Z\nbx+bN2/m0ksvJScnh3vuuYf6+nrfsqVLl3LBBReQmZnJpZdeyjvvvNPhbVubYtK8/a677qKgoICb\nb76ZwYMH88wzz3D77bf7rb948WIeeuihgMe/detWrrjiCjIzM7nzzjtpaGjwW15UVMTtt9/OsGHD\nGD9+vN8Uk1N/mZ8yZQrZ2dnceeedfvE/88wznHfeeWRmZnLxxRezdu1av/jPjP3ZZ5/lueee63D8\nM2bMYN26dTz44IMMHjyY/Px84uPj2b9/v2+dM6fTtBVzQUEBt912G8OGDSM3N5cHH3wwYB8/++yz\nLd6Hts6R9vrpTK3tK9Dxnqm9862zsbTmwIEDDBkyhC1btgDe82TYsGF+00OffvrpgOd2e5+ntmJs\n63xsa9uOvIft9V1bAn1vtLW/9t6Htj6XHem/5557zhfLfffdx/Hjx5k1axaZmZnMnDmTysrKFsfw\nzDPPcMcdd/i1PfTQQyxevLhD/ROoDzrTv219FzbX3jlw//33c//99wfctr3vu1PxBvqsBWpr7/ux\nrf5o7xzYsmULl19+OZmZmcybN48777yz3SmXpmkyadIkduzY0eZ6In2BkiSRECsoKOD9999n3Lhx\nvraVK1fy+uuvc+jQIWzb5uabb+ZrX/sa+fn5PP7449x1113k5eX51l+xYgVvvPEGW7ZsYd++fX6j\nUrm5ufzlL3/h8OHDPPTQQ9x9990cO3asQ9t2xLJly8jMzPT9xf/mm29mzZo1vl+C3G43b775JnPn\nzm2xbWNjI7feeitz5szhwIED3HDDDaxevdq33OPxcPPNNzN27Fh27drF6tWrefHFF1mzZo1vnbfe\neos33niDrVu3smPHDl599VXAO3f/v//7v/m///s/CgoKeOONN8jOzm4z9h/84AfcdNNNHY7/nXfe\nYfLkyTzxxBMUFhYyfPjwDvVZoJgty2LOnDlkZWWxbds2du3axY033thqnM25XK52z5HW+ulMbe2r\nI8fb3vnWmVjakpubyyOPPMLdd99NXV0d9957L3PnzuXyyy/3rRPo3O5IX7UWY0fOx9a2be897Gjf\ntaX594bT6Wx3f629D219Ljvaf6tXr2bVqlV8/vnnvPfee8yaNYsf//jH5Ofn4/F4Al5Pc+ONN/L+\n++9z4sQJACzLYtWqVcyePbvD/XNmH3SmfzvyXdiRc+Cpp57iqaeearFte993zQX6rJ3ZNnTo0HZj\naas/oO1z4LbbbuOWW27hwIEDfPvb3+bdd98NGGtzJ0+e5I033uDLL79sd12R3k5JkkiI3HrrrWRn\nZ3Pddddx2WWX+f3l8e677yYzM5OoqCg+++wzamtrWbRoEeHh4Vx55ZVce+21rFy50rf+9773PTIz\nM0lISOD+++/3W3bDDTeQnp6Ow+HgxhtvZOjQoWzatKlD256NQYMGMWXKFN90iw8++ICkpCQuuOCC\nFut+9tlnuN1u7rnnHsLCwpg5cyYXXXSRb/nmzZspKyvjoYceIjw8nCFDhjBv3jzeeOMNv75KT08n\nISGB6667ju3btwPev2g2NDSwZ88eXC4XOTk55Obmdmv8ZytQzJs2beLYsWP89Kc/ZcCAAURGRjJ5\n8uQO7a8j50hr/XQ2+2pLe+dbZ2KB05+TU4+XX37Zt2zevHnk5uZy9dVXc+zYMX784x/7bRvo3O7o\n8QWKsSPnY2ePr7N915bm3xsd2V9rcbb1uexo/911112kpqaSkZHB5MmTufjii5kwYQKRkZF885vf\nZNu2bS3iz87OZsKECb5fxj/66COioqL4yle+0uH+ObMPOtO/Hfku7Og5EEh733ed1dHvx9b649Ty\n1s4By7L4/ve/T1hYGNdffz0TJ05sN6af/vSnZGRkcPDgQWpqas762ER6AxVuEAmR//3f/221WEBm\nZqbv52PHjjF48GAcjtN/08jKyqKoqMj3fPDgwX7Lmv919I9//CMvvPAChw8fBqC2tpaysrIObXu2\n5s6dy29+8xvmzZvH66+/zpw5cwKud+zYMdLT0zEMwy+GU44cOUJRUZHfCJDH4/FLHtLS0nw/R0VF\n+eIfOnQov/jFL3jsscfYtWsXV111FT//+c9JT0/vtvjPVqCYCwsLycrKCvjX3vZ05BxprZ/OZl9t\nae9860ws0PbnBLyJ0ty5c3n22WeJiIjwWxbo3O7o8QWKsSPnY2ePr7mO9F1bmn9vdGR/rcXZ1uey\no/2Xmprqt++UlBS/57W1tQGPYdasWbzxxhvMnTuXFStWMGvWrA4fT6A+6Ex/dOS7sKPnQCDtfd91\nVkdiaas/oHPnQPP+CeTTTz/l7bffZv369VxwwQXs3LmTSy65pFPHJNKbaCRJpBdq/h/ToEGDKCws\nxOPx+NoKCgr8ftkvLCz0WzZo0CAADh8+zA9+8AOeeOIJDhw4wOHDh1tc9NvatmcbL8D06dPZsWMH\nO3fu5K9//atvusyZ0tLSKCoqwrZtvxhOGTx4MDk5ORw+fNj3KCgoYMWKFR2Ka/bs2bz33nts374d\nwzD4yU9+0m7snYk/kOjoaOrq6nzPjx8/3qHtBg8eTEFBQasXWAeK85SOnCMd1ZV9deR86041NTU8\n/PDD3H777Tz22GNUVFT4LQ90bnfl+Lp6Prb1HnZH3zXff1f219bnsjvPtUBuuOEG1q9fT2FhIe++\n+67vs9fR42mtj7vru7Ar50B733ed1ZFY2jrnOhtr8/45U319Pffeey9PP/00CQkJjB07VtclSZ+n\nJEmkl7v44ouJiori2WefxeVysW7dOt577z2+/e1v+9b59a9/TWFhIRUVFTz11FO+a1nq6uowDIPk\n5GQAXnnlFV+BiPa27YzU1FQOHjzoex4ZGcnMmTOZP38+F110Uat/Lb3kkktwOp289NJLuFwuVq9e\n7Tf9ZeLEiQwcOJBnnnmGkydPYlkWO3fuZPPmze3GlJeXx9q1a2loaCAyMpLIyEi/v363Fntn4g9k\n3LhxrFy5Esuy+OCDD/j44487tN3EiRNJS0vjP//zP6mtraW+vt6vXG+gOE/pyDnSUV3ZV0fOt+70\n7//+71x44YU8//zzXHPNNSxatMhveaBzuyvH15XzEdp+D7u777qyv7Y+l915rgWSnJzM1KlTuffe\ne8nJyWHUqFFdPp6Obt+R78KOnAMLFixgwYIFLbZt7/uus7p6PrblkksuwTRNli1bhtvt5k9/+lOb\nsT766KNccsklXHvttYD3e1DXJUlfpyRJpJcLDw/ntdde4/3332fYsGE88MADvPjii4wcOdK3zqxZ\ns7jxxhuZMGECQ4YM4YEHHgBg9OjR3HfffUybNo0RI0awc+dOLr30Ur/9t7ZtZyxatIgnn3yS7Oxs\nnn/+ecA7ZW3nzp1tTlULDw/nD3/4A6+++iq5ubm89dZbzJgxw7fcNE2WL1/O9u3bmTBhAkOHDuVf\n//Vfqa6ubjemhoYGHnnkEYYNG8bIkSMpLS0NOJIUKPaOxh/IY489xnvvvUdOTg6vv/4606dP79B2\npmny2muvsX//fsaOHcuYMWN48803240TOnaOdFRX9tWR862zTlWDO/W49dZbAfjTn/7EmjVrePrp\npwH4+c9/ztatW3n99dd92wY6t7tyfF05H6Ht97C7+64r+2vrc9md51prZs2axYcffug3gtvV/umu\n78KOnAOFhYVMmjSpxbbtfd91VlfPx7acivUPf/iD77vs2muvJTw8vMW6mzZtYtWqVTz66KO+tnHj\nxmkkSfo8o7Ky0m5/NRGRzjly5AiXXHIJe/bsITY2NtThdFpfj/9c19ducCz9Q2NjI1OnTuXjjz8m\nLCws1OF0q6uuuoo777yT2267LdShiASFRpJEpNt5PB5eeOEFbrzxxj6ZYPT1+EUkNMLDw/n000/7\n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\n7du38+ijj7Jr1y727dsXO+exxx7jjTfeYP/+/QwODnLxxRdzySWXsGnTpno1U0RERESkOlMaQpYE\nqgexuozCKweniWHKqxwLj5vyefHjJnZeZH+V1wiCnh9+ulJgs5HXsRPOD49NaLbxj2Hyx7CcvqDd\nMx/qEpL6+/s5cOAATz31FABXX301N954IwMDA3R3d5fPe/LJJ/nsZz+L4zh0d3dz+eWX8/TTT3PD\nDTfUo5kiIiIiIktfOaxVdk0Vzhbx0qlYYML6mLGBxWzNjNQlJB0+fJj169fjusFNxVzXZd26dfT1\n9cVCUl9fHxs3biw/7u3tpa+vb9LrDQ0NceJE/MZpruvS29u7QJ9g5qybwDS1Y9PNi92UFc80eurn\nBaY+rg/1c32on+tD/Vwf6uf6UD/PE+thE6kpDycSS2e6hKXTkhnYs2cPd9xxR2zf+9//fn7zm98s\nUouq6Dmd9P/+30WYd+XU08q83vtOqlAf14f6uT7Uz/Whfq4P9XN9qJ/r4/TTl84wvLrcpnjDhg0c\nOXIEzwsu2vI8j6NHj06q/PT29nLo0KHy476+vqrVoZ07d3LgwIHYct999zEyMrKwH2QG+vr62Lp1\na9VKmMwf9fPCUx/Xh/q5PtTP9aF+rg/1c32on+tjqfVzXUJST08PW7ZsYe/evQDs3buXrVu3xoba\nAVx55ZU89NBD+L7PwMAAzz77LFdcccWk12tvb2fTpk2TltbW1np8nJp4nsebb75ZDoayMNTPC099\nXB/q5/pQP9eH+rk+1M/1oX6uj6XWz3UJSQD33HMP999/P+eddx73338/99xzDwDXXHMNL7zwAgA7\nduxg8+bNnHvuufzP//wPN910E5s3b65XE0VEREREROp3TdLZZ5/Nc889N2n/448/Xt52XZe77767\nXk0SERERERGZpG6VJBERERERkeXA/eY3v/mdxW7ESpVOp7nwwgtpaGhY7KasaOrnhac+rg/1c32o\nn+tD/Vwf6uf6UD/Xx1LqZzM0NLSo95gSERERERFZSjTcTkREREREJEIhSUREREREJEIhaY5ef/11\nLr30Us477zwuvfRSDh48OOkcz/P4+te/zjnnnMO2bdv42c9+tggtXd5q6efvfve7nHnmmVx44YVc\neOGFfP3rX1+Eli5f3/72t9m6dSvt7e3885//rHqOvstzV0s/67s8N4ODg1xzzTWcf/75XHDBBXz6\n059mYGBg0nnj4+Ncd911bNu2jfe973385je/WYTWLl+19vPOnTt597vfXf4+f//731+E1i5v1157\nLR/84Ae56KKLuOyyy3jppZcmnaPf57mrpZ/1+zx/vve97035/8Kl8PtctynAV6rdu3dz/fXXs337\ndh599FF27drFvn37Yuc89thjvPHGG+zfv5/BwUEuvvhiLrnkEjZt2rRIrV5+aulnCO61ddttty1C\nC5e/yy+/nC996UtcdtllU56j7/Lc1dLPoO/yXBhjuOGGG7jooosAuPnmm/nOd77Dj370o9h5P/zh\nD2ltbeWFF17g4MGDXHbZZezfv5+WlpbFaPayU2s/A+zatYsvfOEL9W7iirFnzx7a2toAePbZZ/nK\nV77CH/7wh9g5+n2eu1r6GfT7PB9efPFF/va3v7Fx48aqx5fC77MqSXPQ39/PgQMHuPrqqwG4+uqr\nOXDgwKR/SXvyySf57Gc/i+M4dHd3c/nll/P0008vRpOXpVr7WebmAx/4AL29vdOeo+/y3NXSzzI3\nHR0d5T/cAc4//3wOHTo06bwnn3yS6667DoAzzjiDbdu28dvf/rZu7Vzuau1nmbvSH+4Aw8PDOM7k\nP9/0+zx3tfSzzF0ul+PGG2/krrvumvKcpfD7rP/6c3D48GHWr1+P67pAcDPcdevW0dfXFzuvr68v\nlpR7e3snnSNTq7WfAZ544gkuuOACPvGJT/D888/Xu6krnr7L9aPv8vzwfZ+f/OQnVSt3+j7Pn+n6\nGeDHP/4xF1xwAddeey2vvPJKnVu3Mnz1q1/lve99L7fddht79uyZdFzf5/lxsn4G/T7P1e23384n\nP/nJaaucS+H7rJAkK8bnP/95Dhw4wF/+8hduuOEGrr32WgYHBxe7WSIzpu/y/Lnppptobm7WUK8F\nNl0/33zzzbzwwgv85S9/4WMf+xhXXXUVnuctQiuXtx/+8If84x//4Oabb+aWW25Z7OasWCfrZ/0+\nz83zzz/PCy+8wPXXX7/YTTkphaQ52LBhA0eOHCn/2Huex9GjRycNpent7Y0NQejr69NwmxmotZ/X\nrFlDMpkE4EMf+hAbNmyY8sJ4mR19l+tD3+X58e1vf5uDBw/y4IMPVh02o+/z/DhZP69fv768/1Of\n+hRjY2McPny43s1cMXbs2MEf//jHSX+Y6/s8v6bqZ/0+z82f//xnXn31VbZu3cqWLVs4cuQIV111\nFb/73e9i5y2F77NC0hz09PSwZcsW9u7dC8DevXvZunUr3d3dsfOuvPJKHnroIXzfZ2BggGeffZYr\nrrhiMZq8LNXaz0eOHClvv/TSS7z55pucddZZdW3rSqfvcn3ouzx3t956Ky+++CIPP/ww6XS66jlX\nXnklDz74IACWfgqrAAAC3klEQVQHDx5k//79fOQjH6lnM5e9Wvo5+n1+7rnncF2X9evX16uJy97o\n6GhsmNGvf/1rOjo66OjoiJ2n3+e5qbWf9fs8N7t37+bf//43L7/8Mi+//DLr16/nl7/8JR/+8Idj\n5y2F32fNbjdH99xzDzt37uTOO++kvb2de++9F4BrrrmGb33rW2zbto0dO3bw97//nXPPPRcIhiVs\n3rx5EVu9/NTSz7feeisHDhzAcRxSqRT33Xcfa9asWeSWLx833XQTv/rVr3j77bf5+Mc/TmdnJ3/9\n61/1XZ5ntfSzvstz869//Yu7776bM888k49+9KMAbNq0iYcffpgLL7yQxx9/nHXr1nHDDTfw5S9/\nmW3btuG6Lj/4wQ9obW1d5NYvH7X2886dO+nv78cYw6pVq3jkkUdIJPTnR63Gx8f53Oc+x/j4OI7j\n0NHRwSOPPIIxRr/P86jWftbv88JZar/PZmhoyNb1HUVERERERJYwDbcTERERERGJUEgSERERERGJ\nUEgSERERERGJUEgSERERERGJUEgSERERERGJUEgSERERERGJUEgSERERERGJUEgSERERERGJUEgS\nEZEV6brrrmPDhg3lpb29nfvuu2+xmyUiIsuAGRoasovdCBERkYX0ox/9iEcffZRnnnmGjo6OxW6O\niIgscYnFboCIiMhC2rNnD7/4xS8UkEREpGYKSSIismLdf//9/PznP2ffvn10dnYudnNERGSZUEgS\nEZEV6YEHHuDBBx9k3759dHV1LXZzRERkGVFIEhGRFeenP/0pDzzwAM888wzd3d2L3RwREVlmNHGD\niIisOKeddhq5XI5EovJvgXfddRc7duxYxFaJiMhyoZAkIiIiIiISofskiYiIiIiIRCgkiYiIiIiI\nRCgkiYiIiIiIRCgkiYiIiIiIRCgkiYiIiIiIRCgkiYiIiIiIRCgkiYiIiIiIRCgkiYiIiIiIRCgk\niYiIiIiIRPx/7HakNsGWQKcAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 900x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "_1fhqQhAFLkk"
      },
      "source": [
        " \n",
        "## But what is $\\lambda \\;$?\n",
        "\n",
        "**This question is what motivates statistics**. In the real world, $\\lambda$ is hidden from us. We see only $Z$, and must go backwards to try and determine $\\lambda$. The problem is difficult because there is no one-to-one mapping from $Z$ to $\\lambda$. Many different methods have been created to solve the problem of estimating $\\lambda$, but since $\\lambda$ is never actually observed, no one can say for certain which method is best! \n",
        "\n",
        "Bayesian inference is concerned with *beliefs* about what $\\lambda$ might be. Rather than try to guess $\\lambda$ exactly, we can only talk about what $\\lambda$ is likely to be by assigning a probability distribution to $\\lambda$.\n",
        " \n",
        "This might seem odd at first. After all, $\\lambda$ is fixed; it is not (necessarily) random! How can we assign probabilities to values of a non-random variable? Ah, we have fallen for our old, frequentist way of thinking. Recall that under Bayesian philosophy, we *can* assign probabilities if we interpret them as beliefs. And it is entirely acceptable to have *beliefs* about the parameter $\\lambda$. \n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "JrRddMMfHHKJ"
      },
      "source": [
        " \n",
        "#### Example: Inferring behaviour from text-message data\n",
        " \n",
        "Let's try to model a more interesting example, one that concerns the rate at which a user sends and receives text messages:\n",
        "\n",
        ">  You are given a series of daily text-message counts from a user of your system. The data, plotted over time, appears in the chart below. You are curious to know if the user's text-messaging habits have changed over time, either gradually or suddenly. How can you model this? (This is in fact my own text-message data. Judge my popularity as you wish.)\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "cOBOnwa2IIaB",
        "outputId": "e3ba822f-4f15-4bb2-9f23-16a59246db0d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 317
        }
      },
      "source": [
        "# Defining our Data and assumptions\n",
        "count_data = tf.constant([\n",
        "    13,  24,   8,  24,   7,  35,  14,  11,  15,  11,  22,  22,  11,  57,  \n",
        "    11,  19,  29,   6,  19,  12,  22,  12,  18,  72,  32,   9,   7,  13,  \n",
        "    19,  23,  27,  20,   6,  17,  13,  10,  14,   6,  16,  15,   7,   2,  \n",
        "    15,  15,  19,  70,  49,   7,  53,  22,  21,  31,  19,  11,  18,  20,  \n",
        "    12,  35,  17,  23,  17,   4,   2,  31,  30,  13,  27,   0,  39,  37,   \n",
        "    5,  14,  13,  22,\n",
        "], dtype=tf.float32)\n",
        "n_count_data = tf.shape(count_data)\n",
        "days = tf.range(n_count_data[0],dtype=tf.int32)\n",
        "\n",
        "# Visualizing the Results\n",
        "plt.figure(figsize=(12.5, 4))\n",
        "plt.bar(days.numpy(), count_data, color=\"#5DA5DA\")\n",
        "plt.xlabel(\"Time (days)\")\n",
        "plt.ylabel(\"count of text-msgs received\")\n",
        "plt.title(\"Did the user's texting habits change over time?\")\n",
        "plt.xlim(0, n_count_data[0].numpy());"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAEsCAYAAAAM4xgOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVxV1f7/8TccDEzL46wcOIoDDgWR\nQwZqaqVpdssBNacsM42uE5lm1zJNSzGNykzx3mxOTZwqs1tZOXtVDLTMxCkRMEUDM0UT+P3hz/Pt\nJMgGPRPn9Xw8fDwOa++91mfvdfaBj2udtX2ys7MLBAAAAABeytfVAQAAAACAK5EUAQAAAPBqJEUA\nAAAAvBpJEQAAAACvRlIEAAAAwKuRFAEAAADwaiRFADxabGysZsyYUeR2s9msAwcOGK6vpPujcJs2\nbVKLFi0cUnfXrl313nvvlerYmJgYTZ06tcjtFotFhw4dKmVkxfvll19kNpt14cIFh7VR1qSlpcli\nsSgvL8/VoQAow0iKALitsLAw1apVS0FBQbJarerUqZMWLFig/Px82z7x8fEaN25cqeq/mj+u3UnX\nrl21fv36Eh2zfv16NW3a9JrF8PdkMioqStu3b79m9TtLenq66tatK6n4BAqOERYWpu+++872c3Bw\nsNLT02Uyma55W9OmTdMtt9wiq9WqXr166fjx49e8DQCegaQIgFtbtGiRjhw5ol27dmn06NF69dVX\nNXz4cFeH5RYKCgrsEkTAk7jD+zcvL0+fffaZ9u7dq+uuu07Tp093aTwAXIekCIBHqFSpku699169\n/fbbWrhwoXbv3i3p8v/Nf/3119WoUSM1btxY77//fpH1TZkyRZs3b9bYsWNlsVg0duxY27bvvvtO\nzZo1k9Vq1VNPPaWCggLbtvfff1+33Xab6tSpox49eujw4cOF1l/YSMxf/wc8KSlJ7du3V3BwsBo2\nbKh//etftv22bdumTp06yWq1qnXr1najQF27dtWUKVN0zz33qHbt2pdN9bpSvZf88ccf6tWrlzIz\nM2WxWGSxWJSZman8/HzFx8crIiJCISEhevjhh/Xbb79JkpYtW6bw8HCdOnVKkvTVV18pNDRUWVlZ\n6tKliySpTZs2slgsWrZs2WXnHxYWptmzZysqKkpWq1WPPPKIcnNzbdtfe+01W7+99957xU5jPHz4\nsO655x4FBQWpe/fuOnHihG3boEGDFBoaKqvVqi5duuinn36yO/bEiRPq1q2bgoKCdO+999r14aV2\n33nnHS1ZskSvvfaaLBaL+vTpI0l69dVX1aRJEwUFBalFixZau3ZtofGdPXtWEyZM0M033yyr1arO\nnTvr7Nmztu0ff/yxbr75ZtWrV08zZ86067+OHTvKarWqUaNGGjt2rM6fP28X34IFCwp9f+bl5WnC\nhAmqV6+ewsPDNX/+fLupejk5ORo+fLgaNWqkJk2aaOrUqUVOSTt37pzGjx+vxo0bq3Hjxho/frzO\nnTsnSbrtttv0xRdf2Pa9cOGC6tevr+TkZElX9/4dOnSojhw5ogcffFAWi0WvvfbaZVMOu3btqqlT\np6pTp062vjl58qQee+wxBQcHq0OHDvrll19sde7du1fdunVT3bp11aJFCy1fvty27dlnn1VwcLAC\nAgLUvHlzHTt2rNDrAaDsIykC4FGaN28ui8WizZs3X7bt66+/1uzZs7V8+XIlJSUV+QerJD333HOK\njIzUyy+/rPT0dL388su2bf/973/1zTffaOPGjVq+fLnWrFkjSVq1apVeeeUVvf/++9q/f78iIyM1\nZMiQUp3H+PHj9fjjjystLU3ff/+9unfvLknKyMhQ79699dRTT+nQoUOaOnWqHnroIWVlZdmOXbx4\nsV599VUdOXJEwcHBWrVqldq2bXvFev+qQoUKWrJkiWrXrq309HSlp6erdu3aSkhI0KpVq7Rq1Srt\n2bNHZrNZTz31lCSpR48eatWqlZ5++mmdPHlSI0aM0Ouvv65q1app9erVkqQNGzYoPT1dPXr0KPSc\nly9frqVLlyolJUU//vijPvroI0kX+23OnDlasWKFduzYoQ0bNhR7/RITEzVnzhylpqbq/Pnzmj17\ntm3b3XffraSkJKWmpuqWW27RY489ZnfskiVLNHbsWO3fv19hYWEaOnToZfU//PDD6tWrl0aNGqX0\n9HQtXrxYqamp+ve//61vvvlGR44c0dKlS2W1WguN77nnnlNycrK+/PJLHTx4UJMnT5av7//9yt2y\nZYu2bdumlStXasaMGfr5558lSSaTSS+99JIOHDigL7/8UmvXrtV//vMfu7qLen++++67+vrrr7V+\n/XqtW7dOq1atsjvuiSeekJ+fn3bs2KF169bpm2++KXL66MyZM7V9+3atX79eGzZs0I4dO2z3SM+e\nPbV06VLbvmvWrFHVqlUVERFRqvfvX82fP19BQUFatGiR0tPTNWrUqELjW7p0qRISErR7924dOnRI\nHTt2VP/+/XXw4EGFhoYqLi5O0sX/AOjevbuio6O1b98+vfXWWxozZoz27NljV9++ffs0Z84c9e3b\nt9D2AJR9JEUAPE6tWrVsIxh/tXz5cvXv319NmzZVhQoVNH78+FLVP3r0aJnNZgUHB6tt27batWuX\nJOntt99WbGysGjVqJD8/P40ZM0a7du0qcrToSvz8/HTgwAGdOHFCFStWVMuWLSVdHEHo2LGjOnXq\nJF9fX3Xo0EG33nqrvvzyS9uxffv2VZMmTeTn56dy5coZqteIt99+W88995wsFov8/f01fvx4rVy5\n0vY/9C+//LLWr1+v++67T507d1bnzp1LdM7Dhg1T7dq1VblyZXXu3Nl2XS/1W5MmTXT99dcb6rf+\n/furQYMGKl++vLp3726rS5IGDhyoG264wXYOP/zwg3JycmzbO3XqpNatW8vf31/PPfectm7dqiNH\njhTbpslk0rlz5/Tzzz/rzz//VJ06dRQSEnLZfvn5+frggw80ffp0BQYGymQyqVWrVvL397ft8/TT\nT6t8+fIKCwvTzTffrB9++EGSFBERoZYtW8rPz0916tTRww8/rI0bN9rVX9T7c/ny5Xr88cdlsVhk\nNpsVGxtrO+bYsWP66quvNG3aNFWoUEHVq1fXE088YZfc/NWSJUs0btw4Va9eXdWqVdPTTz+txYsX\nS5J69eql1atX68yZM5IuJqg9e/aUdPXvX6P69++vkJAQVapUSXfffbdCQkLUvn17+fn5qVu3btq5\nc6ekiwmk1WrVgAED5Ofnp1tuuUX333+/VqxYYavr5MmT6tatm5588knde++9pYoHgOcjKQLgcTIz\nM1W5cuXLyo8ePSqLxWL7+e//C21UzZo1ba/Lly+vP/74Q9LFVbCeeeYZWa1WWa1W1a1bVwUFBcrM\nzCxxG2+88Yb279+vli1bqkOHDrbpSGlpaVq5cqWtDavVqi1btujXX3+1HRsUFFTieo1IS0vTgAED\nbO3edtttMplMtilFZrNZDzzwgHbv3l2q73UVdV3/3m9/fV3SuvLy8jRp0iRFREQoODhY4eHhki7+\n4VtY/RUrVlTlypV19OjRYtusV6+epk2bpunTp6tBgwYaPHhwoX1/4sQJ5ebmFpowFRf/vn371KdP\nH4WGhio4OFhTpkyxi/1Kx17pOqalpenPP/9Uo0aNbP0bGxtrN4LzV0ePHrW7f4KDg23XqF69egoN\nDdUXX3yhM2fOaPXq1erVq5etnat5/xpVo0YNu2tQvXp1u5//es9u377dLp4lS5bYTZP75JNPFBIS\non/+859XHRcAz+Xn6gAAoCR27NihjIwM3X777Zdtq1mzptLT020/F/e//z4+PiVq22KxaMyYMerd\nu3ex+1aoUMH2P+nSxT/W//q9l/r16+utt95Sfn6+Pv30Uw0aNEgHDhywfUfi9ddfL1XcRdVboUKF\nYuuwWCx64403Cr22krRz50598MEHio6O1tNPP13kKENJ1axZUxkZGbaf/9qHJbVkyRJ9/vnnWrFi\nherUqaOcnBxb8lpY/adPn9Zvv/2mWrVqXVZXYdeoV69e6tWrl06dOqXY2Fg9//zzmj9/vt0+VatW\nVUBAgA4ePKiwsLASxf/kk08qPDxc//nPf3TDDTfozTff1CeffGLo2Ctdx0ujfwcOHJCfX/G/+mvV\nqqW0tDQ1adJE0sV76a/XqGfPnkpMTFR+fr4aNWqkevXq2dq5mvevke0lYbFY1Lp1a7uRob87evSo\nateufc3aBOCZGCkC4BFOnTqlL774QoMHD1bv3r110003XbZP9+7d9dFHH2nPnj06c+aM7XsFRalR\no0aJnknzyCOPKD4+3vbF/ZycnCL/2Kpfv77OnTun//73v/rzzz/18ssv276oLl38XkVWVpZ8fX1V\nqVIlSZKvr6969+6tL774QmvWrFFeXp5yc3O1fv16w4lCUfUWdu4nT560m1b2yCOPaMqUKbbpgFlZ\nWbbvpeTm5mrYsGGaOHGi5syZo8zMTLvvupT0Wv5V9+7d9eGHH+rnn3/WmTNnrvjcqeKcPn1a1113\nnapUqaIzZ85oypQpl+3z1VdfafPmzTp//rxefPFFtWzZstDRi7+fU2pqqtauXatz584pICBAAQEB\nhV5bX19fDRgwQBMmTFBmZqby8vK0detWu/6/Uvw33HCDKlasqL1792rBggWGz7179+6aN2+eMjIy\nlJ2drVdffdW2rVatWurQoYMmTJigU6dOKT8/XwcPHizy+1vR0dGaOXOmsrKydOLECc2YMcO22IR0\nMSn69ttv9dZbbyk6OtpWfrXvX+nq3kt/d88992jfvn1atGiR/vzzT/3555/asWOH7TtckjR8+HC7\n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\nMjJS3bp1K9V3igAAAADAXRlKig4fPqz169fL19fQY40AAAAAwGMYynK6dOmidevWOToWAAAAAHA6\nQyNF58+fV9++fRUZGanq1avbbUtISHBIYAAAAADgDIaSosaNG6tx48aOjgUAAACAi3jzSnWGkqLx\n48c7Og4AAAAAcIkSr5zQu3dvR8QBAAAAAC5R4qRo8+bNjogDAAAAAFyixElRQUGBI+IAAAAAAJco\ncVIUHx/viDgAAAAAwCUMLbTQt29fLVy4UJLUq1cvW/mAAQP0wQcfOCYyL1HcKh9S2V7pAwAAuBdv\nXoEM3svQSNGGDRtKVA4AAAAAnuKKI0UvvviipIsPb730+pJffvlFwcHBjosMAAAAAJzgiklRenq6\nJCk/P9/2WpJ8fHxksVh4fhEAAAAAj3fFpOjNN9+UJLVq1UqDBg1ySkAAAAAA4EyGvlMUEBBwWVlB\nQYFeeeWVax4QAAAAADiToaQoLi5OjzzyiLKzsyVJhw4dUufOnfXVV185NDgAAAAAcDRDSdH69et1\nww03qHXr1po6dao6dOige+65R6tWrXJ0fAAAAADgUIaSogoVKmjixImqVKmSZs2apS5duig2Nla+\nviV+9isAAAAAuBVDWc1///tftWnTRm3bttXGjRu1b98+denSRYcOHXJweAAAAADgWFdcfe6SJ598\nUnPnzlWHDh0kSV988YVmzpypDh066ODBgw4NEIB3K+7J6hJPVwcAAFfHUFK0ceNGmc1m28++vr4a\nN26cOnXq5LDAAAAAAMAZDE2fM5vNOnnypBYtWqTXXntNkpSZmanq1asbbqhfv35q3bq12rZtqy5d\numjnzp2SpH379qljx45q3ry5OnbsqP3795fiNAAAAACgdAyNFG3YsEEPPfSQbr31Vv3vf//TqFGj\ntH//fs2ePVuLFy821NDcuXNVqVIlSdKqVas0fPhwrVu3TrGxsRoyZIj69OmjxYsXa/To0fr0009L\nf0YAAABXgWm73ou+916GRoqeeeYZvf3221q6dKlMJpMkqUWLFtqxY4fhhi4lRJJ06tQp+fr66vjx\n40pJSVF0dLQkKTo6WikpKcrKyirJOQAAAABAqRkaKTp8+LDatWsnSfLx8ZEkXXfddbpw4UKJGhsx\nYoS+/fZbFRQUKDExUenp6QoMDLQlWiaTSbVr19aRI0dUrVo1u2Ozs7OVk5NjV2YymRQUFFSiGAAA\nAADgrwwlRY0bN9aaNWt011132cq+++47NW3atESNzZ49W5K0aNEiTZw4URMmTDB87Ny5cxUXF2dX\nZrVatXPnTh08eLDECZr7qFTsHqmpqU6Iw/Gcdx5XvqZl5Xo6gnOvjdF+8p57xChvO19P5fn95Mp7\n1Hn3feH1ePvnjvv9HnWXvyGk/4vl9b1X3ndkaM4VtztPSfqz9H3vCfeEn5+fQkJCCt9mpIKpU6eq\nT58+6tSpk3JzczV69Gh98cUX+uijj0oV0IMPPqjRo0crMDBQGRkZysvLk8lkUl5enjIzMwsd/YmJ\niVG/fv3syi6NMBV1ch5hb/FzVxs2bOiEQBwrNTXVeedRzDUtC9fTEZzaR5LxfvKSe8Qop/cTSqVM\n9JMr71En3fdF9pO3f+642e9Rd/obQjL+3neb90hJ4izlOZWFzzxDSVHLli21ceNGffzxx6pYsaIs\nFovWrFkji8ViqJHTp08rOzvbluysXr1alStXVvXq1RUWFqbExET16dNHiYmJCg8Pv2zqnHRxBby/\nLgsOAAAAANeCoaRo9uzZGjFihEaNGmVX/sYbb2j48OHFHn/mzBk9/PDDOnPmjHx9fVW5cmUtXLhQ\nPj4+io+PV0xMjGbMmCGz2ax58+aV7kwAN1HcyjWsWgMAAOBeDCVFM2bM0IgRIy4rnzlzpqGkqEaN\nGvr6668L3RYaGqo1a9YYCQMAAAAArrkrJkVr166VJOXl5WndunUqKCiwbfvll19UsWJFx0YHAAAA\nAA52xaTo0uhQbm6u3YiQj4+PatasqRkzZjg2OgAAAABwsCsmRTt37pQkDRs2TAkJCU4JCAAAAACc\nydfITiREAAAAAMoqQwstAABc4/LVDCvZPUeC1QwBoOxgBVvXMTRSBAAAAABlVZFJ0eeff257/eef\nfzolGAAAAABwtiKTomHDhtle16tXzynBAAAAAICzFfmdoho1amj+/Plq1KiRLly4cNlzii5p166d\nQwMEAAAAAEcqMil688039dJLL2nevHk6f/683XOKLvHx8VFKSopDAwQAAAAARyoyKWrVqpVWrlwp\nSbr11lv1/fffOy0oAAAAAHAWQ0tyX0qI0tLSlJmZqcDAQAUFBTk0MAAAAABwBkNJ0a+//qpHHnlE\n27ZtU5UqVXTy5Em1aNFCCxYsUO3atR0dIwAAAAA4jKGkKDY2VjfffLOWLFmiChUq6I8//tALL7yg\n2NhYLVq0yNExlkpxD7+SSv4ALEfUCQAAAMC1DCVFW7Zs0c8//6xy5cpJkipUqKAXXnhBTZo0cWhw\nAAAAAOBoRT6n6K/MZrP27NljV5aamqpKlSo5JCgAAAAAcBZDI0WjRo1St27dNHDgQAUHBystLU0f\nfvihJkyY4Oj4AKDMYSouAG9T3Ocen3lwNUNJ0aBBg1S3bl0lJibqxx9/VK1atfSf//yHB7cCAAAA\n8HiGkiJJateuHUkQAAAAgDLHcFIEGFX4EHklae//lV8aJmc43XUuv/b2fSRx/QG4P36PAN7HEfe9\noYUWAAAAAKCsIikCAAAA4NUMJUWzZ88utPyNN94w1MjJkyfVq1cvtWjRQlFRURowYICysrIkSdu2\nbVPr1q3VvHlzde/eXcePHzcYOgAAAABcPUNJ0YwZMwotnzlzpqFGfHx8NHLkSG3fvl2bNm1SSEiI\nJk2apPz8fA0dOlQzZ85UUlKSoqKiNGnSJMPBAwAAGDVi1TG7f6/vrWT3MwDvdcWFFtauXStJysvL\n07p161RQUGDb9ssvv6hixYqGGqlcubLatm1r+7lFixZasGCBkpOTFRAQoMjISEnS4MGDFR4erjlz\n5pT4RAAAAACgNK6YFI0YMUKSlJubq+HDh9vKfXx8VLNmzSJHkK4kPz9fCxYsUJcuXZSWlqbg4GDb\ntqpVqyo/P1+//fabKleubHdcdna2cnJy7MpMJpOCgoJKHAMAAAAAXHLFpGjnzp2SpGHDhikhIeGa\nNDhu3DhVqFBBQ4cO1aeffmr4uLlz5youLs6uzGq1aufOnTp48KAuXLjwtyMqFVtnamqq4fY9q05X\nK8k5XXnf0p27I+r0pPaNcvV7z+h1cnWcjnDt75HX9xZf58jQnGL3wbXjee/Lv3PlPeqo3yNl63PH\ncfe9+/1udt71Lot/wzjiHinZtmuvdHH6+fkpJCSk8G1Gmv1rQpSfn2+3zdfX+AJ2zz77rPbv369F\nixbJ19dXwcHBSktLs20/ceKEfH19LxslkqSYmBj169fPrsxkMklS4Se3t/i5wQ0bNjQcu0fV6Wol\nOadi9i3VuTuiTk9q3yhXv/eMXidXx+kIjrhHyuJ18mCpqamef71d+d5z1O+RsnY/OSpON/vd7NT7\nqSz+DeOIe+RvnP6Z54DrZCgpSk5O1tixY/Xjjz8qNzdXklRQUCAfHx+dPHnSUEMvvPCCkpOT9fHH\nH8vf31+SFBERobNnz2rz5s2KjIzUggUL9MADDxR6vNlsltlsNtQWAAAAABhlKCl64okn1LlzZ73x\nxhsqX758iRv56aef9Morr6hBgwbq1KmTJKlOnTr68MMPlZCQoNjYWOXm5spqtWr+/Pklrh9wNCOr\nEjnyqek8sd0z0E9wd67+LCuLuO+BssFQUpSWlqbnnntOPj4+pWqkSZMmys7OLnRbq1attGnTplLV\nCwAAAABXy9AXgrp27apvvvnG0bEAAAAAgNMZGik6d+6cBgwYoNtvv101atgPA1+rVekAeD6m5gDA\n1WNKHuB8hpKiRo0aqVGjRo6OBQAAAACczlBSNH78eEfHAQAAAAAuYSgpWrt2bZHb2rVrd82CAQC4\nF6bxACiKI6ZMF15nJbvn0vC5A0cwlBSNGDHC7ucTJ07o/PnzCgwMVEpKikMCAwAAAABnMJQU7dy5\n0+7nvLw8vfzyy6pYsaJDggIAAAAAZzGUFP2dyWTSU089paZNm2r48OHXOiYAAByGKYEAgL8z9Jyi\nwnz77bfy9S314QAAAADgFgyNFN10003y8fGx/XzmzBmdO3dOM2fOdFhgAAAAAOAMhpKivz+gtUKF\nCqpfv75uvPFGhwQF5+FhmwBQOFd/Phqd5ufqOAGgLDCUFLVp00aSlJ+fr2PHjqlGjRpMnQMAAABQ\nJhjKbH7//XcNGzZMtWrVUpMmTVSrVi09/vjjysnJcXR8AAAAAOBQhkaKxo0bpzNnzmjTpk0KDg5W\nWlqapkyZoqefflrz5s1zdIz4/1gxCYA3YVoYAHg+T/n71VBStGbNGiUnJ+v666+XJDVo0EBz5szR\nrbfe6tDgAAAAAMDRDE2f8/f3V1ZWll3ZiRMn5O/v75CgAAAAAMBZDI0UPfTQQ+revbv++c9/2qbP\nvfnmmxo0aJCj4zPk+W+ydPJsviT3GYIDUDYwhcsYrhMAFI7PR2NcfZ0MJUVPPfWUatWqpcTERB09\nelS1atXSyJEjNXDgQIcFBgAAAADOYCgp8vHx0cCBA0mCAAAAAJQ5hlef69mzp1q1amUr+9///qfl\ny5dr+vTpDgsOQMk5YpUXT1k5BgBQOD7HgSsztNDC0qVLL1tpLiIiQomJiQ4JCgAAAACcxVBS5OPj\no/z8fLuyvLy8y8oAAAAAwNMYmj4XGRmpqVOn6oUXXpCvr6/y8/M1ffp0RUZGGmrk2Wef1SeffKLD\nhw9r06ZNatq0qSRp3759iomJ0cmTJ1WlShXNmzdP9evXL/3ZwKasTaFy1IokTCcAADiDq1fWAnBl\nhkaKpk+fru+++06NGjXSnXfeqcaNG+vbb7/VjBkzDDXStWtXff755woODrYrj42N1ZAhQ5SUlKQh\nQ4Zo9OjRJT8DAAAAALgKhkaKLBaL1q1bp6SkJKWnp8tisah58+by9TWUUxU6onT8+HGlpKRoxYoV\nkqTo6GiNHTtWWVlZqlat2mX7Z2dnKycnx67MZDIpKCjIUAwAAAAAUBhDSZEk+fr6qmXLlmrZsuU1\naTg9PV2BgYEymUySLiY4tWvX1pEjRwpNiubOnau4uDi7MqvVqp07d9qVpaam/v9XlYqN4f/2NcrV\ndV55X/u2je7riPY9pU53aN8oTzknV9fpCK4+J1dfp2vf/ut7r7zvyNBL/wHmOedU0m3GOP/9VJJ9\n3ef3LZ+P17ZOV7fPZ76x/UrCEX1fkm3uc538/PwUEhJS+LZiW3cTMTEx6tevn13ZpYTqrxo2bHjx\nxd7i5+7a9jXK1XUWs69d20b3dUT7nlKnO7RvlKeck6vrdARXn5OrrxPnVKr2U1NTr/596YJrX5J9\n3eb3LZ+P17ZOV7fPZ76x/UrCEX3/N1f8zPOQ6+SypMhisSgjI0N5eXkymUzKy8tTZmZmkdPhzGaz\nzGazk6MEAAAAUNYZ+1KQA1SvXl1hYWG2Zx0lJiYqPDy80KlzAAAAAOAoThkpGjdunD777DP9+uuv\n6tatm6pUqaItW7YoPj5eMTExmjFjhsxms+bNm+eMcACUUSyxDgAASsMpSdGMGTMKXb47NDRUa9as\ncUYIAAAAAFAol02fAwAAAAB34DGrzzkSU24AAAAA78VIEQAAAACvRlIEAAAAwKsxfc5BmJIHuDfu\nUVxLl7+fKtk9XJD300XcdwDcFSNFAAAAALwaSREAAAAAr8b0OcBFiptGIjGVBI5RFt97TMsCAFwN\nRooAAAAAeDWSIgAAAABejelzAAAAAAwrbsVNyfOmLTNSBAAAAMCrkRQBAAAA8GpMnwMAAIDHYdVJ\nXEuMFAEAAADwaiRFAAAAALwaSREAAAAAr0ZSBAAAAMCrkRQBAAAA8GqsPgcAgJMUt1qWxIpZwLXG\nfQcjGCkCAAAA4NXcIinat2+fOnbsqObNm6tjx47av3+/q0MCAAAA4CXcIimKjY3VkCFDlJSUpCFD\nhmj06NGuDgkAAACAl3B5UnT8+HGlpKQoOjpakhQdHa2UlBRlZWW5ODIAAAAA3sDlCy2kp6crMDBQ\nJpNJkmQymVS7dm0dOXJE1apVs+2XnZ2tnJwcu2NNJpOCgoJkDrg8t6tS3ni+Z3RfT6nT1e17Sp2u\nbp9z4jq5e52ubp9z4jqVpfY9pU5Xt+8pdbpD+46osyz2k1E+2dnZBde81hJITk7W448/ri1bttjK\nWrVqpYSEBEVERNjKpk2bpri4OLtjb7/9dn3xxRdOixUAAABA2ePy6XMWi0UZGRnKy8uTJOXl5Skz\nM1NBQUF2+8XExCglJcXu38SJE9W5c2cdOXLEFaHDoCNHjig8PJx+cmP0kWegnzwD/eQZ6CfPQD+5\nv7LSRy6fPle9enWFhYUpMTFRffr0UWJiosLDw+2mzkmS2WyW2Wy+7PgtW7bYEiq4p7y8PB0+fJh+\ncmP0kWegnzwD/eQZ6CfPQD+5v7LSRy5PiiQpPj5eMTExmjFjhsxms+bNm+fqkAAAAAB4CbdIikJD\nQ7VmzRpXhwEAAADAC7n8O0UAAAAA4Eqm8ePHT3J1EFfD399fbdq0UUBAgKtDwRXQT+6PPvIM9JNn\noJ88A/3kGegn91cW+sjlS3IDAAAAgCsxfQ4AAACAVyMpAgAAAODVPDYp2rdvnzp27KjmzZurY8eO\n2r9/v6tDgqRnn31W4eHhMpvN2r17t62c/nIfJ0+eVK9evdSiRQtFRUVpwIABysrKkiRt27ZNrVu3\nVvPmzdW9e3cdP37cxdF6t379+ql169Zq27atunTpop07d0rifnJX06dPt/vs435yL2FhYWrZsqXa\ntGmjNm3a2Fa9pZ/cR25urp588kk1a9ZMUVFRGjVqlCQ+89zJL7/8YruH2rRpo7CwMNWtW1eS5/eT\nxyZFsbGxGjJkiJKSkjRkyBCNHj3a1SFBUteuXfX5558rODjYrpz+ch8+Pj4aOXKktm/frk2bNikk\nJESTJk1Sfn6+hg4dqpkzZyopKUlRUVGaNGmSq8P1anPnztXGjRu1fv16DR8+XMOHD5fE/eSOkpOT\ntX37dttnH/eTe3r33Xe1YcMGbdiwQXfddRf95GYmTpwof39/JSUladOmTZowYYIkPvPcSZ06dWz3\n0IYNG9S1a1f16tVLkuf3k0cmRcePH1dKSoqio6MlSdHR0UpJSbH9bzdcJzIyUkFBQXZl9Jd7qVy5\nstq2bWv7uUWLFkpLS1NycrICAgIUGRkpSRo8eLBWrFjhqjAhqVKlSrbXp06dkq+vL/eTGzp37pzG\njh2rWbNm2cq4nzwD/eQ+Tp8+rUWLFmnChAny8fGRJNWoUYPPPDd2/vx5LVmyRP379y8T/eSRSVF6\neroCAwNlMpkkSSaTSbVr19aRI0dcHBkKQ3+5r/z8fC1YsEBdunRRWlqa3Qhf1apVlZ+fr99++82F\nEWLEiBG6+eabNXXqVM2dO5f7yQ299NJL6t27t+rUqWMr435yT4899piioqI0ZswYZWdn009u5ODB\ng6pSpYri4uLUvn17de3aVZs3b+Yzz42tXr1atWvXVkRERJnoJ49MigBcG+PGjVOFChU0dOhQV4eC\nIsyePVs//PCDnnvuOU2cONHV4eBvtm7dqu+//15DhgxxdSgoxurVq7Vx40Z9++23Kigo0Lhx41wd\nEv4iLy9Phw4dUnh4uL777jtNnjxZAwcO1OnTp10dGorwwQcfaMCAAa4O45rxyKTIYrEoIyNDeXl5\nki7eSJmZmZdN24J7oL/c07PPPqv9+/fr7bfflq+vr4KDg5WWlmbbfuLECfn6+qpy5coujBKXPPjg\ng1q/fr0CAwO5n9zIxo0btXfvXoWHhyssLEwZGRnq2bOnDh48yP3kZi7dI/7+/nr00Ue1ZcsWPvfc\nSHBwsPz8/GzTr1q0aKGqVauqfPnyfOa5oYyMDG3cuFG9e/eWVDb+1vPIpKh69eoKCwtTYmKiJCkx\nMVHh4eGqVq2aiyNDYegv9/PCCy8oOTlZH374ofz9/SVJEREROnv2rDZv3ixJWrBggR544AFXhunV\nTp8+bTftYPXq1apcuTL3k5uJjY3Vnj17tGvXLu3atUuBgYFaunSpRo4cyf3kRv744w/l5ORIkgoK\nCrRs2TKFhYXxuedGqlatqrZt2+rbb7+VdHEls+PHj6t+/fp85rmhhQsXqlOnTqpSpYqksvG3nk92\ndnaBq4Mojb179yomJkbZ2dkym82aN2+eGjZs6OqwvN64ceP02Wef6ddff1XVqlVVpUoVbdmyhf5y\nIz/99JMiIyPVoEEDBQQESLq4msyHH36o//3vf4qNjVVubq6sVqvmz5+vGjVquDhi73Ts2DH169dP\nZ86csf3P9ZQpUxQREcH95MbCwsK0ePFiNW3alPvJjRw6dEgDBw5UXl6e8vPz1ahRI8XFxalWrVr0\nkxs5dOiQ/vnPf+q3336Tn5+fnnvuOXXs2JHPPDfUvHlzxcXF6e6777aVeXo/eWxSBAAAAADXgkdO\nnwMAAACAa4WkCAAAAIBXIykCAAAA4NVIigAAAAB4NZIiAAAAAF6NpAgA4HCzZs3SiBEjnNbePffc\no5SUlEK3rV+/Xk2bNnVo+3feead++uknh7YBALh2/FwdAADA81ksFtvrM2fOyN/fXyaTSZIUHx+v\nMWPGOC2W1atXq2LFirrllluc1ubfjRgxQi+99JLef/99l8UAADCOpAgAcNXS09Ntr8PCwjR79my1\nb9/eJbG8/fbb6tOnj0vavqRLly6KjY3Vr7/+qpo1a7o0FgBA8Zg+BwBwuGnTpmno0KGSpF9++UVm\ns1kffPCBbrrpJtWpU0cLFizQjh07FBUVJavVqrFjx9od//777+u2225TnTp11KNHDx0+fLjQds6f\nP69169apdevWtrKzZ88qJiZGderUUatWrfT999/bHRMfH6+IiAgFBQWpVatW+vTTT2111a1bVz/+\n+KNt3+PHj6t27drKysrSiRMn1KdPH1mtVtWtW1ddunRRfn6+JCkgIEARERFas2bN1V88AIDDMVIE\nAHCJpKQkJSUladOmTerbt6/uuusurVy5Un/++afuuOMOPfDAA2rTpo1WrVqlV155RYsWLVL9+vUV\nHx+vIUOG6Msvv7yszv3798vX19duOl9cXJwOHTqk5ORk/fHHH+rVq5fdMSEhIVq9erVq1qypFStW\naNiwYWrZsqVq1aqlnj176uOPP9bkyZMlSYmJibrjjjtUrVo1TZ48WYGBgdq/f78kadu2bfLx8bHV\nGxoaqh9++MERlw4AcI0xUgQAcImxY8cqICBAd955p66//npFR0erevXqCgwMVGRkpHbu3Cnp4nS4\n2NhYNWrUSH5+fhozZox27dpV6GhRTk6OKlasaFe2fPlyjRkzRpUrV1ZQUJCGDRtmt71bt26qXbu2\nfH191aNHD9WrV09JSUmSpL59+2rp0qUqKCiQJC1evFgPPvigJMnPz09Hjx5VWlqaypUrp6ioKLuk\n6IYbblBOTs61u2AAAIchKQIAuESNGjVsr8uXL6/q1avb/fzHH39IktLS0vTMM8/IarXapqoVFBQo\nMzPzsjrNZrNOnz5tV3b06FG7kaPg4GC77QsXLlSbNm1s9f/00086ceKEJKlFixYqX7681q9fr717\n9+rAgQPq0qWLJGnkyJGqV6+eunfvrltuuUXx8fF29f7++++qVKlSaS4NAMDJmD4HAHBrFotFY8aM\nUe/evYvdt169eiooKFBGRoYCAwMlSTVr1lR6erqaNGkiSTpy5Iht/8OHD2vUqFFauXKlbrvtNplM\nJrVp08auzr59++rjQLGFOQAAAe5JREFUjz9WzZo19cADDyggIEDSxZGgF198US+++KJ2796t+++/\nX82aNVO7du0kSXv37jUUMwDA9RgpAgC4tUceeUTx8fG25/7k5ORoxYoVhe573XXXqV27dtq4caOt\nrHv37nrllVeUnZ2t9PR0JSQk2LadOXNGPj4+qlatmiTpgw8+uOz5Qr1799Znn31mN3VOkr744gsd\nOHBABQUFuvHGG/9fe3eMokgQBmD0F0/RqGAiiIGGQqOCiBqJ4A2kQ2UMTQyNTD2FZzDzBEZmBt7A\n0Gw2WBAmmGUDZZbt97Juiuqiso8q6CgWi8/rc4/HI87nc/T7/ddsAgBvJYoA+KdNJpNYrVaRZVlU\nKpVI0zSOx+O34+fzeRwOh+fzer2OSqUSzWYzZrPZl7Cp1+uxXC5jOBxGrVaLy+US7Xb7y3zlcjla\nrVYUCoVI0/T5/nq9xnQ6jVKpFKPRKLIsi16vFxG/g6nT6USSJK/aBgDeqHC/3z9/ehEA8Erj8Th2\nu93LfuC6WCwiSZLYbDZ/NX4wGMR+v49Go/GS7wPwXqIIAP7gdrtFt9uN0+kU1Wr1p5cDwBu4PgcA\n39hut5GmaXx8fAgigP+YkyIAACDXnBQBAAC5JooAAIBcE0UAAECuiSIAACDXRBEAAJBroggAAMi1\nX+3JNFDWRNcHAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 900x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EdhCxPaUWR74",
        "colab_type": "text"
      },
      "source": [
        ""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "i-PRmpvsIZKq"
      },
      "source": [
        "\n",
        "Before we start modeling, see what you can figure out just by looking at the chart above. Would you say there was a change in behaviour during this time period? \n",
        " \n",
        "How can we start to model this? Well, as we have conveniently already seen, a Poisson random variable is a very appropriate model for this type of *count* data. Denoting day $i$'s text-message count by $C_i$, \n",
        " \n",
        "$$ C_i \\sim \\text{Poisson}(\\lambda)  $$\n",
        " \n",
        "We are not sure what the value of the $\\lambda$ parameter really is, however. Looking at the chart above, it appears that the rate might become higher late in the observation period, which is equivalent to saying that $\\lambda$ increases at some point during the observations. (Recall that a higher value of $\\lambda$ assigns more probability to larger outcomes. That is, there is a higher probability of many text messages having been sent on a given day.)\n",
        " \n",
        "How can we represent this observation mathematically? Let's assume that on some day during the observation period (call it $\\tau$), the parameter $\\lambda$ suddenly jumps to a higher value. So we really have two $\\lambda$ parameters: one for the period before $\\tau$, and one for the rest of the observation period. In the literature, a sudden transition like this would be called a *switchpoint*:\n",
        " \n",
        "$$\\lambda = \n",
        "\\begin{cases} \\lambda_1  & \\text{if } t \\lt \\tau \\cr\n",
        "\\lambda_2 & \\text{if } t \\ge \\tau\n",
        "\\end{cases}\n",
        "$$\n",
        "\n",
        "If, in reality, no sudden change occurred and indeed $\\lambda_1 = \\lambda_2$, then the $\\lambda$s posterior distributions should look about equal.\n",
        "\n",
        "We are interested in inferring the unknown $\\lambda$s. To use Bayesian inference, we need to assign prior probabilities to the different possible values of $\\lambda$. What would be good prior probability distributions for $\\lambda_1$ and $\\lambda_2$? Recall that $\\lambda$ can be any positive number. As we saw earlier, the *exponential* distribution provides a continuous density function for positive numbers, so it might be a good choice for modeling $\\lambda_i$. But recall that the exponential distribution takes a parameter of its own, so we'll need to include that parameter in our model. Let's call that parameter $\\alpha$.\n",
        "$$\n",
        "\\begin{align}\n",
        "&\\lambda_1 \\sim \\text{Exp}( \\alpha ) \\\\\n",
        "&\\lambda_2 \\sim \\text{Exp}( \\alpha )\n",
        "\\end{align}\n",
        "$$\n",
        "$\\alpha$ is called a *hyper-parameter* or *parent variable*. In literal terms, it is a parameter that influences other parameters. Our initial guess at $\\alpha$ does not influence the model too strongly, so we have some flexibility in our choice.  A good rule of thumb is to set the exponential parameter equal to the inverse of the average of the count data. Since we're modeling $\\lambda$ using an exponential distribution, we can use the expected value identity shown earlier to get:\n",
        "\n",
        "$$\\frac{1}{N}\\sum_{i=0}^N \\;C_i \\approx E[\\; \\lambda \\; |\\; \\alpha ] = \\frac{1}{\\alpha}$$ \n",
        " \n",
        "An alternative, and something I encourage the reader to try, would be to have two priors: one for each $\\lambda_i$. Creating two exponential distributions with different $\\alpha$ values reflects our prior belief that the rate changed at some point during the observations.\n",
        " \n",
        "What about $\\tau$? Because of the noisiness of the data, it's difficult to pick out a priori when $\\tau$ might have occurred. Instead, we can assign a *uniform prior belief* to every possible day. This is equivalent to saying\n",
        "$$\n",
        "\\begin{align}\n",
        "& \\tau \\sim \\text{DiscreteUniform(1,70) }\\\\\n",
        "& \\Rightarrow P( \\tau = k ) = \\frac{1}{70}\n",
        "\\end{align}\n",
        "$$\n",
        "So after all this, what does our overall prior distribution for the unknown variables look like? Frankly, *it doesn't matter*. What we should understand is that it's an ugly, complicated mess involving symbols only a mathematician could love. And things will only get uglier the more complicated our models become. Regardless, all we really care about is the posterior distribution.\n",
        "\n",
        "We next turn to [TensorFlow Probability](https://tensorflow.org/probability), a Python library for performing Bayesian analysis that is undaunted by the mathematical monster we have created."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "mCz2BozPcYNy"
      },
      "source": [
        "## Introducing our first hammer: TensorFlow Probability\n",
        "\n",
        "TensorFlow Probability (TFP) is a Python library for programming Bayesian analysis. It is intended for data scientists, statisticians, machine learning practitioners, and scientists. Since it is built on the TensorFlow (TF) stack, it brings the runtime benefits of TF to Bayesian analysis. These include write-once run-many (ability to run your development model in production) and speedups via state-of-the-art hardware (GPUs and TPUs). \n",
        "\n",
        "Since TFP is relatively new, the TFP community is actively developing documentation, \n",
        "especially docs and examples that bridge the gap between beginner and hacker. One of this book's main goals is to solve that problem, and also to demonstrate why TFP is so cool.\n",
        "\n",
        "We will model the problem above using TFP. This type of programming is called *probabilistic programming*, an unfortunate misnomer that invokes ideas of randomly-generated code and has likely confused and frightened users away from this field. The code is not random; it is probabilistic in the sense that we create probability models using programming variables as the model's components. \n",
        "\n",
        "B. Cronin [[4]](#scrollTo=nDdph0r1ABCn) has a very motivating description of probabilistic programming:\n",
        "\n",
        ">   Another way of thinking about this: unlike a traditional program, which only runs in the forward directions, a probabilistic program is run in both the forward and backward direction. It runs forward to compute the consequences of the assumptions it contains about the world (i.e., the model space it represents), but it also runs backward from the data to constrain the possible explanations. In practice, many probabilistic programming systems will cleverly interleave these forward and backward operations to efficiently home in on the best explanations.\n",
        "\n",
        "Because of the confusion engendered by the term *probabilistic programming*, I'll refrain from using it. Instead, I'll simply say *programming*, since that's what it really is. \n",
        " \n",
        "TFP code is easy to read. The only novel thing should be the syntax. Simply remember that we are representing the model's components ($\\tau, \\lambda_1, \\lambda_2$ ) as variables."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "gYVjgZQ3hOw-"
      },
      "source": [
        "## Specify the joint log-density\n",
        "\n",
        "We'll assume the data is a consequence of the following generative model:\n",
        "\n",
        "$$\\begin{align*}\n",
        "\\lambda_{1}^{(0)} &\\sim \\text{Exponential}(\\text{rate}=\\alpha) \\\\\n",
        "\\lambda_{2}^{(0)} &\\sim \\text{Exponential}(\\text{rate}=\\alpha) \\\\\n",
        "\\tau &\\sim \\text{Uniform}[\\text{low}=0,\\text{high}=1) \\\\\n",
        "\\text{for }  i &= 1\\ldots N: \\\\\n",
        "\\lambda_i &= \\begin{cases} \\lambda_{1}^{(0)}, & \\tau > i/N \\\\ \\lambda_{2}^{(0)}, & \\text{otherwise}\\end{cases}\\\\\n",
        " X_i &\\sim \\text{Poisson}(\\text{rate}=\\lambda_i)\n",
        "\\end{align*}$$\n",
        "\n",
        "Happily, this model can be easily implemented using TF and TFP's distributions:\n",
        "\n",
        "\n",
        "This code creates a new function `lambda_`, but really we can think of it as a random variable: the random variable $\\lambda$ from above. The [gather](https://https://www.tensorflow.org/api_docs/python/tf/gather) function assigns `lambda_1` or `lambda_2` as the value of `lambda_`, depending on what side of `tau` we are on. The values of `lambda_` up until `tau` are `lambda_1` and the values afterwards are `lambda_2`.\n",
        "\n",
        "Note that because `lambda_1`, `lambda_2` and `tau` are random, `lambda_` will be random. We are **not** fixing any variables yet.\n",
        "\n",
        "TFP performs probabilistic inference by evaluating the model parameters using a joint_log_prob function, which we'll describe more in Chapter 2.\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "YBCXrK9gj8Gx",
        "colab": {}
      },
      "source": [
        "def joint_log_prob(count_data, lambda_1, lambda_2, tau):\n",
        "    tfd = tfp.distributions\n",
        " \n",
        "    alpha = (1. / tf.reduce_mean(count_data))\n",
        "    rv_lambda_1 = tfd.Exponential(rate=alpha)\n",
        "    rv_lambda_2 = tfd.Exponential(rate=alpha)\n",
        " \n",
        "    rv_tau = tfd.Uniform()\n",
        " \n",
        "    lambda_ = tf.gather(\n",
        "         [lambda_1, lambda_2],\n",
        "         indices=tf.cast(tau * tf.cast(tf.size(count_data), dtype=tf.float32) <= tf.cast(tf.range(tf.size(count_data)), dtype=tf.float32), dtype=tf.int32))\n",
        "    rv_observation = tfd.Poisson(rate=lambda_)\n",
        " \n",
        "    return (\n",
        "         rv_lambda_1.log_prob(lambda_1)\n",
        "         + rv_lambda_2.log_prob(lambda_2)\n",
        "         + rv_tau.log_prob(tau)\n",
        "         + tf.reduce_sum(rv_observation.log_prob(count_data))\n",
        "    )\n",
        "\n",
        "\n",
        "# Define a closure over our joint_log_prob.\n",
        "def unnormalized_log_posterior(lambda1, lambda2, tau):\n",
        "    return joint_log_prob(count_data, lambda1, lambda2, tau)\n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "t7Vvrj68jsr7"
      },
      "source": [
        "Notice that the implementation is arguably very close to being a 1:1 translation of the mathematical model. The main difference is merely that once we've specified the probabilistic model, we return the sum of the log_probs."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "KnyDyY8Tjyiy"
      },
      "source": [
        "## Specify the posterior sampler"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zy6DFZgPEXyU",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# wrap the mcmc sampling call in a @tf.function to speed it up\n",
        "@tf.function(autograph=False)\n",
        "def graph_sample_chain(*args, **kwargs):\n",
        "  return tfp.mcmc.sample_chain(*args, **kwargs)\n",
        "\n",
        "num_burnin_steps = 5000\n",
        "num_results = 20000\n",
        "\n",
        "\n",
        "# Set the chain's start state.\n",
        "initial_chain_state = [\n",
        "    tf.cast(tf.reduce_mean(count_data), tf.float32) * tf.ones([], dtype=tf.float32, name=\"init_lambda1\"),\n",
        "    tf.cast(tf.reduce_mean(count_data), tf.float32) * tf.ones([], dtype=tf.float32, name=\"init_lambda2\"),\n",
        "    0.5 * tf.ones([], dtype=tf.float32, name=\"init_tau\"),\n",
        "]\n",
        "\n",
        "\n",
        "# Since HMC operates over unconstrained space, we need to transform the\n",
        "# samples so they live in real-space.\n",
        "unconstraining_bijectors = [\n",
        "    tfp.bijectors.Exp(),       # Maps a positive real to R.\n",
        "    tfp.bijectors.Exp(),       # Maps a positive real to R.\n",
        "    tfp.bijectors.Sigmoid(),   # Maps [0,1] to R.  \n",
        "]\n",
        "\n",
        "step_size = 0.2\n",
        "\n",
        "kernel=tfp.mcmc.TransformedTransitionKernel(\n",
        "        inner_kernel=tfp.mcmc.HamiltonianMonteCarlo(\n",
        "            target_log_prob_fn=unnormalized_log_posterior,\n",
        "            num_leapfrog_steps=2,\n",
        "            step_size=step_size,\n",
        "            state_gradients_are_stopped=True),\n",
        "        bijector=unconstraining_bijectors)\n",
        "\n",
        "kernel = tfp.mcmc.SimpleStepSizeAdaptation(\n",
        "    inner_kernel=kernel, num_adaptation_steps=int(num_burnin_steps * 0.8))\n",
        "\n",
        "\n",
        "# Sample from the chain.\n",
        "[\n",
        "    lambda_1_samples,\n",
        "    lambda_2_samples,\n",
        "    posterior_tau,\n",
        "], kernel_results = graph_sample_chain(\n",
        "    num_results=num_results,\n",
        "    num_burnin_steps=num_burnin_steps,\n",
        "    current_state=initial_chain_state,\n",
        "    kernel = kernel)\n",
        "    \n",
        "tau_samples = tf.floor(posterior_tau * tf.cast(tf.size(count_data),dtype=tf.float32))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "NpNv545ZkLjb",
        "outputId": "99ad4fbd-7e03-4a72-8009-61064bbc3b95",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        }
      },
      "source": [
        "print(\"acceptance rate: {}\".format(\n",
        "    tf.reduce_mean(tf.cast(kernel_results.inner_results.inner_results.is_accepted,dtype=tf.float32))))\n",
        "print(\"final step size: {}\".format(\n",
        "    tf.reduce_mean(kernel_results.inner_results.inner_results.accepted_results.step_size[-100:])))\n"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "acceptance rate: 0.5755000114440918\n",
            "final step size: 0.030197443440556526\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "vIxEqx9qkhWr"
      },
      "source": [
        "## Plot the Results"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "viLRm6DEkRPM",
        "outputId": "840c605d-f0f8-4526-f1c9-5082f80d5efd",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 964
        }
      },
      "source": [
        "plt.figure(figsize=(12.5, 15))\n",
        "#histogram of the samples:\n",
        "\n",
        "ax = plt.subplot(311)\n",
        "ax.set_autoscaley_on(False)\n",
        "\n",
        "plt.hist(lambda_1_samples, histtype='stepfilled', bins=30, alpha=0.85,\n",
        "         label=r\"posterior of $\\lambda_1$\", color=TFColor[0], density=True)\n",
        "plt.legend(loc=\"upper left\")\n",
        "plt.title(r\"\"\"Posterior distributions of the variables $\\lambda_1,\\;\\lambda_2,\\;\\tau$\"\"\")\n",
        "plt.xlim([15, 30])\n",
        "plt.xlabel(r\"$\\lambda_1$ value\")\n",
        "\n",
        "ax = plt.subplot(312)\n",
        "ax.set_autoscaley_on(False)\n",
        "plt.hist(lambda_2_samples, histtype='stepfilled', bins=30, alpha=0.85,\n",
        "         label=r\"posterior of $\\lambda_2$\", color=TFColor[6], density=True)\n",
        "plt.legend(loc=\"upper left\")\n",
        "plt.xlim([15, 30])\n",
        "plt.xlabel(r\"$\\lambda_2$ value\")\n",
        "\n",
        "plt.subplot(313)\n",
        "w = 1.0 / tau_samples.shape[0] * np.ones_like(tau_samples)\n",
        "plt.hist(tau_samples, bins=n_count_data[0], alpha=1,\n",
        "         label=r\"posterior of $\\tau$\",\n",
        "         color=TFColor[2], weights=w, rwidth=2.)\n",
        "plt.xticks(np.arange(n_count_data[0]))\n",
        "\n",
        "plt.legend(loc=\"upper left\")\n",
        "plt.ylim([0, .75])\n",
        "plt.xlim([35, len(count_data)-20])\n",
        "plt.xlabel(r\"$\\tau$ (in days)\")\n",
        "plt.ylabel(r\"probability\");"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nHS7fk6SBAwfqgw8+UHl5uU6cOKGVK1dqwIABlcazWq0KCQmp9K+u6dGd2Ww2HT582B464X7okXuj\nP+6N/rg/euTe6I/7o0fuzWaz6csvv7ymY532OVApKSlKTU1VVFSUUlNTlZKSIklKTEzUzp07JUlD\nhgxRaGiounXrpgcffFCTJk1SaGios0oEAAAAgBo57T1QHTp00Lp16yptT0tLs39tsVg0e/ZsZ5UE\nAAAAAHXitBUoAAAAAKjvLP/93//9J1cXgao1bNhQsbGxatSokatLQTXokXujP+6N/rg/euTe6I/7\no0fu7Vr741VYWFhxk2oCAAAAgFsKl/ABAAAAgCECFAAAAAAYIkC5galTpyoyMlJWq1V79+61b794\n8aL+8Ic/qFu3boqJidHzzz/vwio9W3U9Wr16teLi4hQbG6v7779fy5Ytc2GVnuvUqVNKTExU9+7d\nFRMTo2HDhunEiROSpK+//lr333+/oqKi9Ktf/UoFBQUurtbzVNefnJwc9e/fX/fdd5969eql0aNH\n68KFC64u1yPV9DN0xZgxY2S1WnX27FkXVem5aurP6dOn9dRTTykqKkrR0dFKTk52cbWeqaYeffTR\nR4qJiVFsbKz+4z/+Q1u2bHFxtZ5p6NChuv/++xUXF6eHH35Yu3btkiTl5OQoPj5eUVFRio+P14ED\nB2odi/dAuYGtW7eqbdu2evjhh7Vw4UJ16tRJkjRp0iRZLBZNnz5dXl5e+vHHH9W6dWsXV+uZqupR\nRUWFQkNDtWrVKnXq1Em7d+9W3759dfjwYXl787cJZzp9+rR2796tuLg4SdKLL76o06dP6y9/+Yui\noqL0t7/9Tb169dJrr72mQ4cO6a9//auLK/Ys1fVn4sSJKiwsVJcuXVReXq6nnnpK99xzjyZNmuTi\nij1PdT16++23JUmrVq3SypUr9fHHHysvL09NmzZ1Zbkep6b+DBkyRD//+c81evRoSdIPP/ygNm3a\nuLJcj1Rdj15++WV16dJF27dvV+vWrfXZZ59p2rRp+uqrr1xcsecpKirSHXfcIUlauXKlkpOTtXHj\nRj3yyCMaNmyYBg8erIULF+rjjz/W8uXLaxyL3/LcQK9evRQUFOSw7ezZs1qwYIFeeOEFeXl5SRLh\nyYWq6pEkeXt768yZM5Iu/2C2adOG8OQCzZs3t/9PS5K6d++uI0eO6Ntvv1WjRo3Uq1cvSdKTTz6p\njIwMV5XpsarrT0hIiLp06SLp8s9St27ddOTIEVeV6dGq65F0+S/rycnJevXVV11Vnserrj8HDhzQ\nnj17lJSUZH+M8OQa1fWooqJCFRUV9pXboqIiBQQEuKpMj3YlPEnSmTNn5O3trYKCAmVmZiohIUGS\nlJCQoMzMzEor8Fdz2gfpom5yc3PVokULJScna9OmTbrttts0depU+y+CcD0vLy+9//77Gjp0qJo0\naaKzZ886fDA0XKO8vFzvvfeeHn74YR05ckRt27a1P9ayZUuVl5fr9OnTat68uQur9Fw/7c9PXbhw\nQfPnz9f//M//uKgyXHF1jyZMmKApU6Y4/PIB1/lpf/79738rMDBQzz77rHbt2qU2bdro5Zdf1j33\n3OPqMj3aT3vUsmVLpaSkqHfv3rrjjjtUXl6uFStWuLpEj/Xss89q/fr1qqioUHp6uvLz8xUQECCL\nxSJJslgs8vf3V15envz8/Kodhz+VuymbzaZDhw4pMjJSGzZs0LRp0zR8+HD7agdcr6ysTLNnz9Yn\nn3yi3bt3a8GCBXriiSd4f4CLTZo0Sbfddpt+//vfu7oUVKGq/pSVlenJJ59UXFycfvnLX7qwOkiO\nPVqyZIkaNGighx56yNVl4f/8tD82m01ff/21hg4dqo0bN2r48OF67LHHXF2ix/tpj86cOaO///3v\n+te//qXdu3fr1Vdf1bBhw1RRwTtoXOGtt97S7t279eKLL17XH+wIUG6qbdu28vHxsS8pdu/eXS1b\ntjR6YxucIysrS8ePH1d0dLQkKTo6Wk2aNNH+/ftdXJnnmjp1qg4cOKD//d//lbe3t9q2betwSdjJ\nkyfl7e3N6pOLXN0f6fIfi55++mlZrVbNmjXLxRXi6h5t3rxZmzZtUkREhCIiIiRd/m/dv//9bxdX\n6pmq+m9cUFCQYmJiJEkDBgzQDz/8oJMnT7q4Us91dY/Wr1+vO+64Q+Hh4ZKkX/3qV8rNzaVHLjZk\nyBBt2rRJAQEBOnr0qGw2m6TL/086duxYlW/b+CkClJtq2bKl4uLitH79ekmX7xBSUFCgsLAwF1eG\nK6780GVnZ0uSvvvuO/3444/0yEVefvllffvtt5o/f74aNmwoSeratasuXLigrVu3SpLee+89DRw4\n0JVleqyq+lNeXq6kpCRZLBa9/fbb9vd7wjWq6tEbb7yhvXv3KisrS1lZWZKkL7/8Uh07dnRlqR6p\nuv/G3Xbbbdq3b58k6YsvvlDz5s3VokULV5bqsarqUUhIiDIzM+13gN24caOaNWumli1burJUj3P2\n7Fnl5eXZv1+1apWaN2+uVq1aKSIiQunp6ZKk9PR0RUZG1nj5nsRd+NzCpEmTtGLFCv3www9q2bKl\nWrRooS+//FKHDh3SmDFjdPr0afn4+OjFF19UfHy8q8v1SNX1aNGiRZozZ479F78pU6aof//+Lq7W\n8+zbt0+9evXSXXfdpUaNGkm6/D+t+fPn66uvvtK4ceN08eJFBQcHKzU1lRuyOFl1/Xn88cc1ePBg\nderUyb4iFR0drddff92V5Xqkmn6GfspqtXIXPheoqT87d+7U+PHjdenSJTVp0kQzZ85UVFSUiyv2\nPDX16O2339aHH36oBg0aqGHDhnr11Vd5T7uT/fjjjxo6dKjOnz9vvxLlz3/+s7p27ar9+/crKSlJ\nhYWFslqtmjdvnn3FsDoEKAAAAAAwxCV8AAAAAGCIAAUAAAAAhghQAAAAAGCIAAUAAAAAhghQAAAA\nAGCIAAUAAAAAhghQAACPFhERoQ0bNri6DABAPUGAAgC4hR49eqhTp07at2+fq0sBAKBaBCgAgFvY\nunWr2rdvr6VLl7q6FAAAqkWAAgC4BYvFoujoaO3Zs6fOx86ZM0ePP/64w7bJkydr0qRJkqSUlBR1\n7dpVQUFB6tmzp5YvX17lOFarVQcPHrR/n5SUpFdeecX+/bFjxzR8+HC1b99ekZGRmjdvXp1rBQDU\nbwQoAIBbuHDhghYvXqzdu3fX+dhHH31Ua9asUXFxsSTJZrMpIyNDiYmJkqSwsDCtWrVKhw8f1uTJ\nkzVq1CgdP368TnOUl5dryJAh6ty5s/bt26dly5Zp7ty5WrduXZ3rBQDUXwQoAIBb+POf/6yAgAAd\nOnRIZ8+elSQVFRXpgQceUGBgoPbu3VvtscHBwerSpYtWrFghSdq4caMaN26s++67T5I0aNAg+fv7\ny9vbW48++qjatWun7du316m+HTt26OTJk5o8ebJ8fX0VGhqqESNGaPHixdd4xgCA+ogABQBwuW3b\ntmnp0qX66KOPdPvtt9vDUpMmTbRo0SINGDCg1jESEhLsYSYtLU0JCQn2xz799FPFxsYqODhYwcHB\n2rdvn06ePFmnGo8cOaJjx47ZxwgODtbs2bNVUFBQp3EAAPWbj6sLAAB4tosXL2rMmDGaPXu2mjdv\nrs6dO2vPnj3q0aOHGjRoID8/P6NxBg0apKlTpyo/P18rVqzQmjVrJEmHDx/W888/r6VLl6pHjx6y\nWCyKjY2tcowmTZro/Pnz9u9//PFHBQYGSpICAwMVEhKiHTt2XOcZAwDqM1agAAAuNX36dPXo0UMP\nPfSQpMufy3Qt74Py8/NTbGysxowZo5CQEN19992SpPPnz8vLy8sexD7++ONqb5UeERGh9PR02Ww2\nrV27Vl988YX9saioKDVt2lRz5szRhQsXZLPZtHfvXgIVAHgYAhQAwGW2b9+ujIwMTZ8+3b4tIiLi\nmu7EJ12+jG/Dhg32m0dIUseOHfXMM88oPj5e4eHh2rt3r3r27Fnl8TNnztTq1asVEhKiRYsWqV+/\nfvbHLBaLFi5cqKysLHXp0kXt2rXTc889pzNnzlxTrQCA+smrsLCwwtVFAABQk6SkJD377LPq1KmT\nq0sBAHg4VqAAAG4tMTFR69ev1/PPP6/58+e7uhwAgIdjBQoAAAAADLECBQAAAACGCFAAAAAAYIgA\nBQAAAACGCFAAAAAAYIgABQAAAACGCFAAAAAAYIgABQAAAACGCFAAAAAAYIgABQAAAACGCFAAAAAA\nYMgpAWrq1KmKjIyU1WrV3r17q9zHZrNpwoQJ6tq1q372s5/pww8/dEZpAAAAAGDMKQGqX79++uyz\nz9S2bdtq91m0aJEOHjyoHTt2aM2aNZo5c6a+//57Z5QHAAAAAEZ8nDFJr169at1nyZIlGjFihLy9\nveXn56d+/fpp6dKleu655yrtW1hYqKKiokrbW7RooWbNmt2QmgEAAADgak4JUCby8vIcVqiCgoKU\nl5dX5b5z585VcnKyw7bo6GitXr36ptYIAAAAwLPVy5tIJCUlKTMz0+Hfu+++6+qybrjc3FxXl4Ba\n0CP3Rn/cG/1xf/TIvdEf90ePbk1uswIVFBSkI0eOqFu3bpIqr0j9lNVqldVqdWZ5LlFWVubqElAL\neuTe6I97oz/ujx65N/rj/ujRrcltVqAGDhyoDz74QOXl5Tpx4oRWrlypAQMGuLosAAAAALBzSoCa\nNGmSOnXqpKNHj2rQoEGKjo6WJCUmJmrnzp2SpCFDhig0NFTdunXTgw8+qEmTJik0NNQZ5QEAAACA\nEadcwjdr1izNmjWr0va0tDT71xaLRbNnz3ZGOQAAAABwTdzmPVA3U1lZmU6ePKmSkhJXl1InFotF\nR44ccXUZbsvX11ctW7aUj49HvIwBAADgBjziN8+TJ0+qcePGat26tby8vFxdjrGLFy+qUaNGri7D\nLVVUVKi4uFgnT55UmzZtXF0OAAAAPITb3ETiZiopKVGzZs3qVXhCzby8vNSsWbN6t6oIAACA+s0j\nApQkwtMtiJ4CAADA2TwmQAEAAADA9SJAAQAAAIAhj7iJxNW+nvf1TRn3vv+676aMCwAAAMA9sAJ1\nC5gxY8Z13UwhNjZWFy5cuIEVOVqxYoV69OihuLg4ZWdnOzx2/vx5denSRX369FF5eflNqwEAAAC4\nEQhQt4Dk5ORrClBlZWWSpM2bN6tx48Z1Ps7U+++/rz/+8Y/atGmTwsPDHR5r0qSJvvnmG+Xk5Gj/\n/v11GhcAAABwNgKUi1itVk2fPl2xsbHq3r27li5dKklau3at4uLiFBMTo4SEBB08eFDS5ZWaESNG\nqGfPnrr//vv1u9/9TpI0YcIESVKfPn0UGxurwsJCffPNN+rfv7969+6t3r176x//+IfDvDNmzNAv\nfvELzZw5077t7NmzleYfMGCAff6qjvup6o6bMmWKtm7dqpdeekn9+/ev8rnw8fFRy5YttXv3bvu2\nrVu36sEHH1SfPn301ltvXfPzDAAAANxIHvkeKHdhsVi0efNmZWdnq0+fPoqJidGoUaO0cuVKdezY\nUe+9956efvpprVu3TuvWrVNxcbG++uorSVJhYaEk6fXXX9e7776rf/7zn2ratKkKCws1btw4paWl\n6c4779Tx48f1wAMPaMuWLbJarZKkxo0ba/369ZXqKSgocJj/ww8/tM9/rcfNmDFDu3bt0rPPPqu+\nfftW+TzMmzdPhw8fVlZWlhISEiRJoaGh+uyzz+Tr66v+/fvrqaeeUpMmTa7/SQcAAACuAytQLjR8\n+HBJUnh4uLp06aJt27apc+fO6tixoyRpyJAhysrKUnFxsSIiIrR//35NmDBBGRkZ8vX1rXLMbdu2\n6fvvv1dCQoJiY2OVkJAgLy8v5ebm2vd57LHHqjz2m2++cZh/2LBh9vmv57ia5OTk6J133tG0adOU\nlZVl3+7v728/R4vFIm9vXqoAAABwPVag6onQ0FBt3bpVn3/+udauXauXX35ZW7ZsUaNGjRz2q6io\n0L333qtVq1ZVO9Ztt912TTVc63HVsdlsGj16tGbNmqWQkBDNnj270j7r169XWFhYpfMEAAAAXIE/\n67vQ/PnzJUkHDhzQrl27dN9992n37t32myksXLhQkZGRatasmfLz82WxWNS/f39Nnz5dJ06c0OnT\npyVJzZo105kzZyRJPXv21MGDB7Vx40b7PDt27FBFRUWt9Vw9/yeffGKf/2Yc95e//EX33nuv+vTp\no/DwcJ07d04//PCD/fH8/HzNnj1br7zySq21AwAAAM7gkStQ7vJ5TWVlZYqLi9OFCxeUkpKi1q1b\n65133tHIkSNVVlamFi1aKDU1VZK0d+9e/elPf5IklZeX6w9/+IP8/f0lSWPGjNGAAQPUqFEjrVix\nQp9++qlefPFFTZkyRaWlpQoNDdWCBQvk5eVVYz1+fn4O8/v5+dnnv9HH7d27VwsXLrS/v8rb21ud\nO3dWVlaW2rRpo0uXLmn06NGaPXu2mjZtWmsNAAAAgDN4FRYW1r40Uc8dOXJEbdu2dXUZDqxWq/Ly\n8moMBxcvXvTYS9c+/vhjvfLKK2rfvr0k6e9//7sCAgIq7efq3mZnZ1e6NTvcB/1xb/TH/dEj90Z/\n3B89ujV55AoU3N+wYcM0bNgwV5cBAAAAOCBAuciV25ADAAAAqD+4iQQAAAAAGCJAAQAAAIAhjwlQ\nJrfxRv1CTwEAAOBsHhGgvL29ZbPZXF0GbjCbzSZvb494CQMAAMBNeMRvn02bNlVhYSErFreQiooK\nnT59ms+IAgAAgFN5xF34br/9dp04cUJ5eXmuLqVOSktL1aBBA1eX4bYaNWqk22+/3dVlAAAAwIN4\nRIDy8vJSq1atXF1GnWVnZ6tdu3auLgMAAADA//GIS/gAAAAA4EYgQAEAAACAIQIUAAAAABgiQAEA\nAACAIQIUAAAAABgiQAEAAACAIQIUAAAAABgiQAEAAACAIQIUAAAAABgiQAEAAACAIQIUAAAAABgi\nQAEAAACAIQIUAAAAABgiQAEAAACAIQIUAAAAABgiQAEAAACAIQIUAAAAABhyWoDKyclRfHy8oqKi\nFB8frwMHDlTap6CgQL/5zW8UExOjHj16aPz48SorK3NWiQAAAABQI6cFqHHjxmnkyJHavn27Ro4c\nqbFjx1ba54033lCHDh20ZcsWffHFF/r222+1fPlyZ5UIAAAAADVySoAqKChQZmamEhISJEkJCQnK\nzMzUiRMnHPbz8vLS2bNnVV5erkuXLqmkpET+/v7OKBEAAAAAauXjjEny8/MVEBAgi8UiSbJYLPL3\n91deXp78/Pzs+02aNEnDhw/X3XffrfPnz+vpp59WdHR0pfEKCwtVVFTksM1isSgoKOjmnggAAAAA\nj+aUAGUqIyND9957r5YtW6bi4mIlJiZq6dKlGjhwoMN+c+fOVXJyssO24OBg7dq1S7m5ubfU+6ay\ns7NdXQJqQY/cG/1xb/TH/dEj90Z/3B89ck8+Pj4KCwu7pmO9CgsLK25wPZUUFBQoKipKubm5slgs\nstlsCgsL044dOxxWoHr16qW3335bUVFRkqQ5c+YoLy9Pr7/+usN4nrIClZ2drfDwcFeXgRrQI/dG\nf9wb/XF/9Mi90R/3R49uTU55D1SrVq0UERGh9PR0SVJ6eroiIyMdwpN0eRVp7dq1kqSSkhJt2LBB\n99xzT6XxrFarQkJCHP7dauEJAAAAgPtx2l34UlJSlJqaqqioKKWmpiolJUWSlJiYqJ07d0qSZs6c\nqa1btyomJkZxcXG66667NGLECGeVCAAAAAA1ctp7oDp06KB169ZV2p6Wlmb/OiwsTBkZGc4qCQAA\nAADqxGkrUAAAAABQ3xGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAA\nDBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoA\nAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQ\nAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAA\nAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGg\nAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADBGgAAAAAMAQAQoAAAAADDktQOXk5Oj/sXf3cVXX\nB//H33BQrLSOCqHcKTWYc4La8ZYwdm1j3dhqKxjGcm1FU7IbKHXZatc1VypeW1SXprKt1co142xZ\navVbQzI1XQ4JNLsBwhREBfWgFg458vvDedaJGz/S4dzE6/l48PDw5XvzPucjypvP9/s9aWlpstls\nSktLU3V1dYfrvfjii0pOTtbkyZOVnJysgwcPeisiAAAAAHQpxFsHysvLU3Z2tjIzM7Vq1Srl5uZq\nzZo1buuUlZVp0aJFevnllxUREaGmpiaFhoZ6KyIAAAAAdMkrBaqhoUHl5eVavXq1JCk9PV1z5sxR\nY2OjwsLCXOs9+eSTuvPOOxURESFJuuiiizrcn8PhUFNTk9syi8Wi6OjoHnoGAAAAAOClAlVXV6fI\nyEhZLBZJp8vO0KFDVVtb61ag3n//fQ0bNkxXX321PvnkE333u9/V7NmzFRQU5La/ZcuWKT8/321Z\nbGysKioqVFNTo9bW1p5/Ul5SWVnp6wg4C8bIvzE+/o3x8X+MkX9jfPwfY+SfQkJCFBcX171tPZzl\nC3E6ndq5c6dWr16tlpYWpaenKzo6WjfddJPbejk5OcrKynJbdqacdfeF8EeVlZWKj4/3dQx0gTHy\nb4yPf2N8/B9j5N8YH//HGH05eaVARUVFad++fXI6nbJYLHI6naqvr293yl1MTIyuv/56hYaGKjQ0\nVNdcc422b9/erkBZrVZZrVZvRAcAAAAAF6/chS88PFyJiYmy2+2SJLvdrqSkJLfT96TT10aVlJSo\nra1NJ0+e1IYNGzRq1ChvRAQAAACAs/LabcwLCgpUWFgom82mwsJCFRQUSJIyMjJUVlYmSbrxxhsV\nFhamiRMnasqUKRoxYoSmT5/urYgAAAAA0CWvXQOVkJCg4uLidsuLiopcj4ODg7VgwQItWLDAW7EA\nAAAAwJjXZqAAAAAAINBRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAA\nAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUK\nAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADA\nEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAA\nAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAyF+DoAAAAmti3fdk7rj585\nvoeSAAB6M2agAAAAAMAQBQoAAAAADHEKHwDgS+lcT/k7F5weCAC9FzNQAAAAAGCIAgUAAAAAhihQ\nAAAAAGDIa9dAVVVVKScnR4cPH9agQYO0fPlyXXrppR2uW1lZqSuuuEK33XabHn74YW9FBADACLdU\nB4Dey2szUHl5ecrOzlZpaamys7OVm5vb4XpOp1O5ubmaOnWqt6IBAAAAgBGvFKiGhgaVl5crPT1d\nkpSenq7y8nI1Nja2W7egoEBXXXVVp7NTAAAAAOArXilQdXV1ioyMlMVikSRZLBYNHTpUtbW1buvt\n2LFDxcXFuuOOO7rcKREk9wAAIABJREFUn8Ph0Mcff+z28fl9AQAAAICn+c37QJ08eVK5ublaunSp\nq2h1ZtmyZcrPz3dbFhsbq4qKCtXU1Ki1tbUno3pVZWWlryPgLBgj/8b4+LdzGZ+WlpYeTNKzAvnv\nYSBn7w0YH//HGPmnkJAQxcXFdW9bD2fpUFRUlPbt2yen0ymLxSKn06n6+npFR0e71tm/f79qamqU\nkZEhSWpqapIkHTt2TI8//rjb/nJycpSVleW27Ezp6u4L4Y8qKysVHx/v6xjoAmPk3xgf/3au4+Mo\ndvRgmp4VqH8P+R7yb4yP/2OMvpy8UqDCw8OVmJgou92uzMxM2e12JSUlKSwszLVOTEyMPvroI9fn\nCxcu1CeffNLhXfisVqusVqs3ogMAAACAi9fuwldQUKDCwkLZbDYVFhaqoKBAkpSRkaGysjJvxQAA\nAACAbvPaNVAJCQkqLi5ut7yoqKjD9efNm9fTkQAAAADgnHhtBgoAAAAAAh0FCgAAAAAMUaAAAAAA\nwJDfvA8UAABfVtuWbzNed/zM8T2YBADwRVGgAAA+cfDVgwH93k4AgN6JU/gAAAAAwBAFCgAAAAAM\nUaAAAAAAwBAFCgAAAAAMUaAAAAAAwBAFCgAAAAAMUaAAAAAAwBAFCgAAAAAMUaAAAAAAwBAFCgAA\nAAAMhfg6AAAA+I9ty7ed0/rjZ47voSQAgI4wAwUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCI\nAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGAoxNcBAABfDtuWb/N1\nBAAAehwzUAAAAABgiAIFAAAAAIYoUAAAAABgiAIFAAAAAIYoUAAAAABgiAIFAAAAAIYoUAAAAABg\niAIFAAAAAIYoUAAAAABgKMTXAQAAQPdtW77tnNYfP3N8DyUBgN6BGSgAAAAAMESBAgAAAABDFCgA\nAAAAMMQ1UACATp3r9TUAAHzZMQMFAAAAAIYoUAAAAABgyGsFqqqqSmlpabLZbEpLS1N1dXW7dRYv\nXqxJkyYpOTlZqampKi4u9lY8AAAAADgrrxWovLw8ZWdnq7S0VNnZ2crNzW23js1m0/r16/XWW29p\nyZIl+slPfqLm5mZvRQQAAACALnnlJhINDQ0qLy/X6tWrJUnp6emaM2eOGhsbFRYW5lrvW9/6luvx\nqFGjJEmHDx9WVFSU2/4cDoeamprcllksFkVHR/fUUwAAAAAA7xSouro6RUZGymKxSDpddoYOHara\n2lq3AvVZzz//vIYPH96uPEnSsmXLlJ+f77YsNjZWFRUVqqmpUWtrq+efhI9UVlb6OgLOgjHyb4zP\nF9PS0hLQ+0d75/o9wfeQf2N8/B9j5J9CQkIUFxfXvW09nMUjNm3apAULFujFF1/s8Os5OTnKyspy\nW3amnHX3hfBHlZWVio+P93UMdIEx8m+MzxfnKHb02L5bWlrUt2/fHts/OnYu3xN8D/k3xsf/MUZf\nTl4pUFFRUdq3b5+cTqcsFoucTqfq6+s7POXu7bff1owZM7Ry5cpO/8JZrVZZrdaejg0AAAAAbrxy\nE4nw8HAlJibKbrdLkux2u5KSktqdvrd9+3bdeuuteuaZZzRmzBhvRAMAAAAAY167C19BQYEKCwtl\ns9lUWFiogoICSVJGRobKysokSffdd5+am5uVm5urlJQUpaSk6N133/VWRAAAAADokteugUpISOjw\nfZ2Kiopcj0tKSrwVBwAAAADOmV/eRAIAAPSMbcu3Ga/b0tLCBfAA8DleO4UPAAAAAAIdBQoAAAAA\nDHEKHwD0Iudy+hYAAGiPGSgAAAAAMESBAgAAAABDFCgAAAAAMESBAgAAAABDFCgAAAAAMESBAgAA\nAABDFCgAAAAAMESBAgAAAABDFCgAAAAAMBTi6wAAAMB/bVu+zXjd8TPH92ASAPAPFCgACGDn8sMt\nAAD44jiFDwAAAAAMUaAAAAAAwBAFCgAAAAAMUaAAAAAAwBAFCgAAAAAMUaAAAAAAwBAFCgAAAAAM\nUaAAAAAAwBAFCgAAAAAMhfg6AAAA+HLYtnzbOa0/fub4HkoCAD2HGSgAAAAAMESBAgAAAABDFCgA\nAAAAMESBAgAAAABDFCgAAAAAMMRd+ADAj5zrXcyAQMZd+wAEImagAAAAAMAQBQoAAAAADFGgAAAA\nAMAQBQoAAAAADHETCQDoYdwYAgCALw9moAAAAADAEDNQAAAgIHDbcwD+gBkoAAAAADBEgQIAAAAA\nQ5zCBwDniJtCAADQe1GgAADAl9K5/LKD66UAmPLaKXxVVVVKS0uTzWZTWlqaqqur263jdDo1e/Zs\njRkzRmPHjtUf//hHb8UDAAAAgLPy2gxUXl6esrOzlZmZqVWrVik3N1dr1qxxW+eFF17QRx99pO3b\nt+vw4cO64oorlJqaqmHDhnkrJoBeiFPyAHCHPwCmvFKgGhoaVF5ertWrV0uS0tPTNWfOHDU2Nios\nLMy13osvvqhbbrlFwcHBCgsL09SpU/XSSy/p7rvv9kZMAF8SZ34QamlpkaPY4eM0AADgy8QrBaqu\nrk6RkZGyWCySJIvFoqFDh6q2ttatQNXW1iomJsb1eXR0tGpra9vtz+FwqKmpyW2ZxWJRdHR0Dz0D\n3wgJ4RI1f8cY/Uf5ynJfR3DpO6CvJCmoJUh9+vbxcRp0hvHxf4xR5/zh37yTLSdV/na5Rv9wtK+j\noBP8nPDlFJCjumzZMuXn57stmzRpkl577TUfJeoZcXFxvo6As2CM/oP/wAEAcMfPCf7v2LFjGjBg\nwDlt45WbSERFRWnfvn1yOp2STt8sor6+vt2MUXR0tPbu3ev6vLa2tsNZpZycHJWXl7t9rFixQseO\nHevZJ+JFtbW1SkpK6nAGDv6BMfJvjI9/Y3z8H2Pk3xgf/8cY+bfa2lpdddVVOnz48Dlv65UCFR4e\nrsTERNntdkmS3W5XUlKS2+l7knT99dfrmWee0alTp9TY2Kh169bpuuuua7c/q9WqYcOGtfs41/bo\nz5xOp/bs2eMqnfA/jJF/Y3z8G+Pj/xgj/8b4+D/GyL85nU5t3bq1W9t67TbmBQUFKiwslM1mU2Fh\noQoKCiRJGRkZKisrkyRNmzZNw4cP12WXXaZvf/vbmjt3roYPH+6tiAAAAADQJa9dA5WQkKDi4uJ2\ny4uKilyPLRaLHn30UW9FAgAAAIBz4rUZKAAAAAAIdJb777//f3wdAh0LDQ1VSkqK+vXr5+so6ARj\n5N8YH//G+Pg/xsi/MT7+jzHyb90dnyCHw9HWQ5kAAAAA4EuFU/gAAAAAwBAFCgAAAAAMUaD8wIMP\nPqikpCRZrVbt2rXLtfzEiRO69957ddlllyk5OVn33HOPD1P2bp2N0WuvvaYpU6YoJSVFl19+uV5+\n+WUfpuy9Dh8+rIyMDI0bN07Jycm6+eab1djYKEnatm2bLr/8ctlsNn3/+99XQ0ODj9P2Pp2NT1VV\nla699lqNHz9ekydP1h133KHm5mZfx+2VuvoeOmPWrFmyWq06fvy4j1L2Xl2Nz5EjR3TbbbfJZrNp\n0qRJys/P93Ha3qmrMXr22WeVnJyslJQUfeMb39Bbb73l47S9U1ZWli6//HJNmTJFV199tSoqKiRJ\nVVVVSktLk81mU1pamqqrq8+6L66B8gNbtmxRTEyMrr76aq1atUojR46UJM2dO1cWi0ULFixQUFCQ\nDh48qIsvvtjHaXunjsaora1Nw4cP16uvvqqRI0dq586duuqqq7Rnzx4FB/O7CW86cuSIdu7cqSlT\npkiSHnroIR05ckRPPPGEbDabnnzySU2ePFn/+7//q927d2vp0qU+Tty7dDY+c+bMkcPh0OjRo3Xq\n1Cnddttt+trXvqa5c+f6OHHv09kYLVmyRJL06quvat26dXruuedUW1ur/v37+zJur9PV+EybNk1X\nXHGF7rjjDknSgQMHFBER4cu4vVJnYzR//nyNHj1apaWluvjii/XKK6/ol7/8pf7xj3/4OHHv09TU\npIsuukiStG7dOuXn5+vNN9/Ud7/7Xd18883KzMzUqlWr9Nxzz2nNmjVd7ouf8vzA5MmTFR0d7bbs\n+PHj+vOf/6yf//znCgoKkiTKkw91NEaSFBwcrKNHj0o6/Y0ZERFBefKBgQMHuv7TkqRx48Zp7969\neuedd9SvXz9NnjxZknTrrbdq9erVvorZa3U2PsOGDdPo0aMlnf5euuyyy7R3715fxezVOhsj6fRv\n1vPz8/XII4/4Kl6v19n4VFdX691331VOTo7ra5Qn3+hsjNra2tTW1uaauW1qalJkZKSvYvZqZ8qT\nJB09elTBwcFqaGhQeXm50tPTJUnp6ekqLy9vNwP/eV57I12cm5qaGg0aNEj5+fnauHGjLrjgAj34\n4IOuHwThe0FBQXr66aeVlZWl888/X8ePH3d7Y2j4xqlTp/TUU0/p6quv1t69exUTE+P62uDBg3Xq\n1CkdOXJEAwcO9GHK3uuz4/NZzc3NWrlypX7xi1/4KBnO+PwYzZ49W/PmzXP74QO+89nxef/99xUV\nFaW77rpLFRUVioiI0Pz58/W1r33N1zF7tc+O0eDBg1VQUKDU1FRddNFFOnXqlNauXevriL3WXXfd\npZKSErW1tclut6uurk6RkZGyWCySJIvFoqFDh6q2tlZhYWGd7odflfspp9Op3bt3KykpSW+88YZ+\n+ctfavr06a7ZDvhea2urHn30Uf3pT3/Szp079ec//1k/+clPuD7Ax+bOnasLLrhAP/3pT30dBR3o\naHxaW1t16623asqUKbrmmmt8mA6S+xi9+OKL6tOnj6688kpfx8K/fXZ8nE6ntm3bpqysLL355pua\nPn26brrpJl9H7PU+O0ZHjx7Vb3/7W61fv147d+7UI488optvvlltbVxB4wv/93//p507d+qhhx76\nQr+wo0D5qZiYGIWEhLimFMeNG6fBgwcbXdgG79ixY4f279+vSZMmSZImTZqk888/Xx9++KGPk/Ve\nDz74oKqrq/WHP/xBwcHBiomJcTsl7NChQwoODmb2yUc+Pz7S6V8W3X777bJarVq8eLGPE+LzY7Rp\n0yZt3LhRiYmJSkxMlHT637r333/fx0l7p47+jYuOjlZycrIk6brrrtOBAwd06NAhHyftvT4/RiUl\nJbrooosUHx8vSfr+97+vmpoaxsjHpk2bpo0bNyoyMlL79u2T0+mUdPr/pPr6+g4v2/gsCpSfGjx4\nsKZMmaKSkhJJp+8Q0tDQoLi4OB8nwxlnvukqKyslSR988IEOHjzIGPnI/Pnz9c4772jlypUKDQ2V\nJI0ZM0bNzc3asmWLJOmpp57S9ddf78uYvVZH43Pq1Cnl5OTIYrFoyZIlrus94RsdjdFvfvMb7dq1\nSzt27NCOHTskSVu3btWIESN8GbVX6uzfuAsuuEDvvfeeJGnz5s0aOHCgBg0a5MuovVZHYzRs2DCV\nl5e77gD75ptvasCAARo8eLAvo/Y6x48fV21trevzV199VQMHDlR4eLgSExNlt9slSXa7XUlJSV2e\nvidxFz6/MHfuXK1du1YHDhzQ4MGDNWjQIG3dulW7d+/WrFmzdOTIEYWEhOihhx5SWlqar+P2Sp2N\n0QsvvKDHHnvM9YPfvHnzdO211/o4be/z3nvvafLkyfrKV76ifv36STr9n9bKlSv1j3/8Q3l5eTpx\n4oRiY2NVWFjIDVm8rLPx+dGPfqTMzEyNHDnSNSM1adIk/frXv/Zl3F6pq++hz7JardyFzwe6Gp+y\nsjLdd999+te//qXzzz9fixYtks1m83Hi3qerMVqyZIn++Mc/qk+fPgoNDdUjjzzCNe1edvDgQWVl\nZenTTz91nYnyq1/9SmPGjNGHH36onJwcORwOWa1WLV++3DVj2BkKFAAAAAAY4hQ+AAAAADBEgQIA\nAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAECvlpiYqDfeeMPXMQAAAYICBQDw\nCxMmTNDIkSP13nvv+ToKAACdokABAPzCli1bdOmll+qll17ydRQAADpFgQIA+AWLxaJJkybp3Xff\nPedtH3vsMf3oRz9yW/azn/1Mc+fOlSQVFBRozJgxio6O1sSJE7VmzZoO92O1WvXRRx+5Ps/JydHD\nDz/s+ry+vl7Tp0/XpZdeqqSkJC1fvvycswIAAhsFCgDgF5qbm/WXv/xFO3fuPOdtb7jhBr3++us6\nduyYJMnpdGr16tXKyMiQJMXFxenVV1/Vnj179LOf/UwzZszQ/v37z+kYp06d0rRp0zRq1Ci99957\nevnll7Vs2TIVFxefc14AQOCiQAEA/MKvfvUrRUZGavfu3Tp+/LgkqbS0VGlpabr66qt122236eTJ\nkx1uGxsbq9GjR2vt2rWSpDfffFPnnXeexo8fL0n63ve+p6FDhyo4OFg33HCDLrnkEpWWlp5Tvu3b\nt+vQoUP62c9+pr59+2r48OG65ZZb9Je//OULPGsAQKChQAEAfO7tt9/WSy+9pGeffVYXXnihdu3a\nJUmKiorSyy+/rFdffVWxsbF65ZVXOt1Henq6q8wUFRUpPT3d9bXnn39eKSkpio2NVWxsrN577z0d\nOnTonDLu3btX9fX1rn3Exsbq0UcfVUNDQzeeMQAgUIX4OgAAoHc7ceKEZs2apUcffVQDBw7UqFGj\n9O6772rChAkaMmSIa70+ffooKCio0/1873vf04MPPqi6ujqtXbtWr7/+uiRpz549uueee/TSSy9p\nwoQJslgsSklJ6XAf559/vj799FPX5wcPHlRUVJSk02Vu2LBh2r59uyeeNgAgQDEDBQDwqQULFmjC\nhAm68sorJZ1+X6bPXwe1Z88elZSU6Oqrr+50P2FhYUpJSdGsWbM0bNgwffWrX5UkffrppwoKClJY\nWJgk6bnnnuv0VumJiYmy2+1yOp36+9//rs2bN7u+ZrPZ1L9/fz322GNqbm6W0+nUrl27KFQA0MtQ\noAAAPlNaWqrVq1drwYIFrmWJiYlud+I7evSoZsyYoSeffFJ9+vTpcn/p6el64403XDePkKQRI0bo\nzjvvVFpamuLj47Vr1y5NnDixw+0XLVqk1157TcOGDdMLL7ygqVOnur5msVi0atUq7dixQ6NHj9Yl\nl1yiu+++W0ePHu3u0wcABKAgh8PR5usQAAB0pLW1VTfddJPuvPNOpaam+joOAADMQAEA/Jfdbtc/\n//lPLV68WFOnTtVf//pXX0cCAPRyzEABAAAAgCFmoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAA\nAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUKAAAAAAxRoAAAAADAEAUK\nAAAAAAxRoAAAAADAEAUKAAAAAAxRoLyspqbG1xHOKhAySoGRk4yeEQgZpcDISUbPIKPnBEJOMnoG\nGT0nEHIGQsbuokB5WWtrq68jnFUgZJQCIycZPSMQMkqBkZOMnkFGzwmEnGT0DDJ6TiDkDISM3UWB\nAgAAAABDFCgAAAAAMESBAgAAAABDIb4O4A2tra06dOiQWlpafB1FFotFe/fu9XWMLvlrxr59+2rw\n4MEKCekVf20BAADgh3rFT6KHDh3Seeedp4svvlhBQUE+zXLixAn169fPpxnOxh8ztrW16dixYzp0\n6JAiIiJ8HQcAAAC9VK84ha+lpUUDBgzweXlC9wUFBWnAgAF+MYsIAACA3qtXFChJlKcvAcYQAAAA\nvtZrChQAAAAAfFEUKAAAAAAw1CtuIvF5uaX398h+H7Mt6pH9AgAAAPAPzEB9CSxcuPAL3VwhJSVF\nzc3NHkzkbu3atZowYYKmTJmiysrKHjsOAAAA0NO8VqCqqqqUlpYmm82mtLQ0VVdXt1tnxowZSklJ\ncX0MHDhQr7zyirciBqz8/PxuFajW1lZJ0qZNm3Teeeed83amnn76aT3wwAPauHGj4uPjz2lbAAAA\nwJ94rUDl5eUpOztbpaWlys7OVm5ubrt1VqxYoU2bNmnTpk1atmyZrFarvvWtb3kroldZrVYtWLBA\nKSkpGjdunF566SVJ0t///ndNmTJFycnJuu666/TRRx9Jkj799FPdcsstmjhxoi6//HL9+Mc/liTN\nnj1bkvSd73xHKSkpcjgc+uc//6lrr71WqampSk1N1f/7f//P7bgLFy7Uf/3Xf2nRokWuZcePH3cd\n/9vf/na743e03Wd1lnvevHnasmWL/vu//1vXXnut2zanTp1SWlqaUlJSNGTIEI0fP14pKSkqKCjw\n1MsMAAAAeJRXroFqaGhQeXm5Vq9eLUlKT0/XnDlz1NjYqLCwsA63efbZZ5WRkaHQ0NB2X3M4HGpq\nanJbZrFYFB0d7fnwPchisWjTpk2qrKzUd77zHSUnJ2vGjBlat26dRowYoT/+8Y+6/fbbVVxcrOLi\nYh07dkz/+Mc/JJ1+DSTp17/+tX73u9/pb3/7m/r37y+Hw6G8vDwVFRVpyJAh2r9/v775zW/qrbfe\nktVqlSSdd955KikpaZenoaFBM2bM0F//+leNHj3a7fgm23WUe+HChaqoqNBdd92lq666ym274OBg\nvf7665KkYcOG6W9/+5sGDhzouRcYAAAA8DCvFKi6ujpFRkbKYrFIOl0chg4dqtra2g4LVEtLi+x2\nu6twfd6yZcuUn5/vtiw2NlYVFRWqqalpd4qZxWLRiRMnPPRsOmd6jDPr/eAHP9CJEycUExOjxMRE\nbd68WSNHjtTw4cN14sQJpaena/bs2WpsbFRCQoI++OAD5ebmKjk5Wd/+9rfdjvevf/1LISEh2rRp\nkz7++GPdeOONbsd8//33NWbMGEnSDTfc0C7rv/71L23ZskUjR47UV7/61XbH72w7Sa7tOsrdv39/\nnTp1Si0tLZ2+Ph9//LH69++v884776yv4cmTJ92uowqEa6rI6BmBkFEKjJxk9Awyek4g5CSjZ5DR\ncwIhpz9nDAkJUVxcXPe29XAWj1i3bp2io6OVlJTU4ddzcnKUlZXltuxMOevohdi7d6/69evn+aCf\nY3KMEydOuNYLDQ11PQ4ODlafPn0UHBzsWnbq1CnXel/96le1detWbdiwQX//+9+1aNEivfXWW+32\n1adPH33961/Xq6++2mmGQYMGtcsaGhrqOv6Z5/LZ43e2naQuc/fr10/BwcHq27dvp69PVVWVRo8e\nbfT69enTR5dccomk09+U/n5NFRk9IxAySoGRk4yeQUbPCYScZPQMMnpOIOQMhIzd5ZVroKKiorRv\n3z45nU5JktPpVH19faen3D333HO6+eabO92f1WrVsGHD3D4C7fQ9SVq5cqUkqbq6WhUVFRo/frx2\n7typDz/8UJL0pz/9SUlJSRowYIDq6upksVh07bXXasGCBWpsbNSRI0ckSQMGDNDRo0clSRMnTtRH\nH32kN99803Wc7du3q62t7ax5zhz/zG8LPnt8k+06ym2ivr5ekZGRRusCAAAAvuSVGajw8HAlJibK\nbrcrMzNTdrtdSUlJHZ6+V1dXpy1btuj3v/99j+Xxl/dram1t1ZQpU9Tc3KyCggJdfPHFWrFihbKz\ns9Xa2qqwsDAVFhZKknbt2qX/+Z//kXR6hufee+/V0KFDJUmzZs3Sddddp379+mnt2rV6/vnn9dBD\nD2nevHk6efKkhg8frj//+c8KCgrqMk9YWJhWrFihO+64Q06n0+34Jtt1lNtEcnKyli5dqnvuuUeP\nP/648XYAAACAtwU5HI6zT014wIcffqicnBw5HA5ZrVYtX75c8fHxysjI0AMPPKCxY8dKOn1ThF27\ndumpp57y2LH37t2rmJgYj+3vizhzCp/ValVtba369+/v60jtfPY0Q3/z2bEMhKlhMnpGIGSUAiMn\nGT2DjJ4TCDnJ6Blk9JxAyBkIGbvLa9dAJSQkuO7m9llFRUVun5+5LTcAAAAA+Bu/vIlEb3DmNuQA\nAAAAAofX3kgXAAAAAAIdBQoAAAAADPWaAmVyG2/4N8YQAAAAvtYrClTfvn117NgxfgAPYG1tbTp2\n7Jj69u3r6ygAAADoxXrFTSQGDx6sQ4cOqampyddRdPLkSfXp08fXMbrkrxn79u2rwYMH+zoGAAAA\nerFeUaBCQkIUERHh6xiSTt8T/5JLLvF1jC4FQkYAAADAF3rFKXwAAAAA4AkUKAAAAAAwRIECAAAA\nAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAwRIEC\nAAAAAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAwRIECAAAAAEMUKAAAAAAw\n5LUCVVVVpbS0NNlsNqWlpam6urrD9V588UUlJydr8uTJSk5O1sGDB70VEQAAAAC6FOKtA+Xl5Sk7\nO1uZmZlatWqVcnNztWbNGrd1ysrKtGjRIr388suKiIhQU1OTQkNDvRURAAAAALrklQLV0NCg8vJy\nrV69WpKUnp6uOXPmqLGxUWFhYa71nnzySd15552KiIiQJF100UUd7s/hcKipqcltmcViUXR0dA89\nAwAAAACQghwOR1tPH+Sdd97RzJkztXXrVteyiRMnasWKFRozZoxr2ZQpU3TllVdq8+bN+uSTT/Td\n735Xs2fPVlBQkNv+Fi5cqPz8fLdlsbGxqqioUE1NjVpbW3v2CQEAAAAIWCEhIYqLi+veth7O8oU4\nnU7t3LlTq1evVktLi9LT0xUdHa2bbrrJbb2cnBxlZWW5LbNYLJLU7RfCWyorKxUfH+/rGF0KhIxS\nYOQko2cEQkYpMHKS0TPI6DmBkJOMnkFGzwmEnIGQsbu8UqCioqK0b98+OZ1OWSwWOZ1O1dfXtzvl\nLiYmRtdff71CQ0MVGhqqa665Rtu3b29XoKxWq6xWqzeiAwAAAICLV+7CFx4ersTERNntdkmS3W5X\nUlKS2/VP0uljLykYAAAgAElEQVRro0pKStTW1qaTJ09qw4YNGjVqlDciAgAAAMBZee025gUFBSos\nLJTNZlNhYaEKCgokSRkZGSorK5Mk3XjjjQoLC9PEiRM1ZcoUjRgxQtOnT/dWRAAAAADokteugUpI\nSFBxcXG75UVFRa7HwcHBWrBggRYsWOCtWAAAAABgzGszUAAAAAAQ6ChQAAAAAGCIAgUAAAAAhihQ\nAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAA\nhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUA\nAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhihQAAAAAGCIAgUAAAAAhrxWoKqqqpSW\nliabzaa0tDRVV1e3W2fhwoX6yle+opSUFKWkpGj27NneigcAAAAAZxXirQPl5eUpOztbmZmZWrVq\nlXJzc7VmzZp2602bNk0PP/ywt2IBAAAAgDGvzEA1NDSovLxc6enpkqT09HSVl5ersbHRG4cHAAAA\nAI/wygxUXV2dIiMjZbFYJEkWi0VDhw5VbW2twsLC3Nb961//qvXr1ysiIkLz5s3ThAkT2u3P4XCo\nqanJbZnFYlF0dHTPPQkAAAAAvV6Qw+Fo6+mDvPPOO5o5c6a2bt3qWjZx4kStWLFCY8aMcS07cOCA\nBg0apD59+qikpES333673n77bQ0aNMhtfwsXLlR+fr7bstjYWFVUVKimpkatra09+4QAAAAABKyQ\nkBDFxcV1a1uvFKiGhgbZbDbV1NTIYrHI6XQqLi5O27dvbzcD9Vmpqal65JFHlJKS4rY8kGegKisr\nFR8f7+sYXQqEjFJg5CSjZwRCRikwcpLRM8joOYGQk4yeQUbPCYScgZCxu7xyCl94eLgSExNlt9uV\nmZkpu92upKSkduVp3759ioyMlCRVVFRoz549Hb7wVqtVVqvVG9EBAAAAwMVrd+ErKChQTk6OFi9e\nLKvVquXLl0uSMjIy9MADD2js2LGaP3++ysvLFRwcrL59+2rFihWKiIjwVkQAAAAA6JLXClRCQoKK\ni4vbLS8qKnI9PlOqAAAAAMAfea1AAQDQldzS+yVJsy68zcdJAADonFfeBwoAAAAAvgwoUAAAAABg\niAIFAAAAAIYoUAAAAABgiAIFAAAAAIYoUAAAAABgiAIFAAAAAIYoUAAAAABgyLhAHT58uCdzAAAA\nAIDfMy5Qo0aN0k033aSXXnpJLS0tPZkJAAAAAPyScYGqqKhQamqqHnvsMSUkJOiee+7Rli1bejIb\nAAAAAPgV4wIVFhammTNnqqSkRK+//rrCw8M1Y8YMjR49Wo888oj27NnTkzkBAAAAwOe6dROJAwcO\n6MCBAzp27Jji4uJUX1+vK664QgUFBZ7OBwAAAAB+I8R0xffee08vvPCCioqKdMEFF+imm27Spk2b\nFBUVJUmaM2eOUlJSlJeX12NhAQAAAMCXjAvUNddco/T0dD3zzDOy2Wztvj5s2DDNnDnTo+EAAAAA\nwJ8YF6jnnntOl19+ebvlpaWlrkL185//3HPJAAAAAMDPGF8DNW3atA6X33jjjR4LAwAAAAD+7Kwz\nUKdOnVJbW5vbxxk1NTUKCTGexAIAAACAgHbW9jN48GAFBQW5Hn9WcHCw7rvvvp5JBgAAAAB+5qwF\nqry8XG1tbZo6dapeeeUV1/KgoCCFhYXpvPPO69GAAAAAAOAvzlqgYmNjJUk7d+7s8TAAAAAA4M+6\nLFD33HOPHn/8cUnSjBkzOl1vxYoVnk0FAAAAAH6oywI1bNgw1+O4uLgeDwMAAAAA/qzLAnXvvfe6\nHt9///09HgYAAAAA/FmXBWrDhg1GO0lNTfVIGAAAAADwZ10WqLvuuuusOwgKClJ5eflZ16uqqlJO\nTo4OHz6sQYMGafny5br00ks7XLeyslJXXHGFbrvtNj388MNn3TcAAAAAeEOXBaqiosJjB8rLy1N2\ndrYyMzO1atUq5ebmas2aNe3Wczqdys3N1dSpUz12bAAAAADwhLPextwTGhoaVF5ertWrV0uS0tPT\nNWfOHDU2NiosLMxt3YKCAl111VU6fvy4Pvnkkw7353A41NTU5LbMYrEoOjq6Z54AAAAAAEgKcjgc\nbZ19ccKECXr77bclSV//+tcVFBTU4Xpne4+od955RzNnztTWrVtdyyZOnKgVK1ZozJgxrmU7duzQ\n3LlztXbtWi1evFiffPJJh6fwLVy4UPn5+W7LYmNjVVFRoZqaGrW2tnaZBwDgf5Ye/b0kadaFt/k4\nCQDgyy4kJKTbdxnvcgbqzHtAST3/Xk8nT55Ubm6uli5dKovF0uW6OTk5ysrKclt2Zht/v916ZWWl\n4uPjfR2jS4GQUQqMnGT0jEDIKAVGTr/OWPqfh36b8d/8+nX8t0DIKAVGTjJ6Bhk9JxByBkLG7uqy\nQE2ePNn1OCUlpdsHiYqK0r59++R0OmWxWOR0OlVfX+92yt3+/ftVU1OjjIwMSXKdonfs2DG3IidJ\nVqtVVqu123kAAAAAoDuCTVdsaWnRI488ossuu0yRkZG67LLL9PDDD+vEiRNn3TY8PFyJiYmy2+2S\nJLvdrqSkJLfrn2JiYvTRRx9px44d2rFjh3JycvSjH/2oXXkCAAAAAF8xLlD33nuvNm7cqPz8fK1f\nv175+fnavHmz7rvvPqPtCwoKVFhYKJvNpsLCQhUUFEiSMjIyVFZW1r30AAAAAOBFxnfhW7duncrK\nylynzo0YMULjxo3T2LFjtXTp0rNun5CQoOLi4nbLi4qKOlx/3rx5ptEAAAAAwCuMZ6AiIiLU3Nzs\ntqy5uVlDhgzxeCgAAAAA8EddzkBt2LDB9TgzM1M33nijZsyYocjISNXV1em3v/2tpk2b1uMhAQAA\nAMAfdFmg7rrrrnbLfvOb37h9/oc//EG5ubmeTQUAAAAAfqjLAlVRUeGtHAAAAADg94yvgQIAAACA\n3s74LnxHjx7VokWLtHnzZh06dMjtazt37vR4MACAZ+WW3i9JekyLfJwEAIDAZTwDNXv2bJWXl2vu\n3LlyOBzKz89XdHS0cnJyejIfAAAAAPgN4xmo9evX6+2339agQYMUHBysqVOnauzYsZo2bZpmzZrV\nkxkBAAAAwC8Yz0CdOnVKF154oSSpf//+ampq0pAhQ1RTU9Nj4QAAAADAnxjPQI0aNUqbN29Wamqq\nJk+erNmzZ+uCCy7QpZde2pP5AAAAAMBvGM9APfHEE4qNjZUkLVq0SKGhoWpqatLy5ct7LBwAAAAA\n+BPjGajhw4e7HoeHh2vJkiU9kQcAAAAA/JZxgZKkZ599Vn/5y1+0f/9+DRkyRDfccIOmT5+uoKCg\nnsoHAAAAAH7DuED94he/0CuvvKKcnBzFxMRo7969WrJkiaqqqjR//vyezAgAAAAAfsG4QP3pT3/S\nhg0bFBUV5Vp25ZVXKjU1lQIFAAAAoFcwvolE//791b9//3bLBgwY4PFQAAAAAOCPupyB2r17t+tx\nTk6Opk+frry8PEVGRqqurk5PPPGE7rjjjp7OCAAAAAB+ocsCNXbsWAUFBamtrc21bOPGjW7rvPnm\nm/rpT3/aM+kAAAAAwI90WaCOHDnirRwAAAAA4PfO6TbmkrR3717V19crMjJS0dHRPZEJAAAAAPyS\ncYHav3+/br31Vm3btk2DBg3S4cOHNW7cOD311FMaOnRoT2YEAAAAAL9gfBe+e++9V6NGjdLu3bv1\nwQcfaPfu3UpKSlJeXl5P5gMAAAAAv2E8A7V161Z98MEH6tOnjyTpggsu0Pz58/W1r32tx8IBAAAA\ngD8xnoGyWq16//333ZZVVlbqoosu8ngoAAAAAPBHxjNQ99xzj773ve9p+vTpiomJ0d69e7Vy5Ur9\n/Oc/78l8AAAAAOA3jGegbrnlFj311FM6dOiQXnvtNR06dEi/+93v9OMf/9ho+6qqKqWlpclmsykt\nLU3V1dXt1nnuueeUnJyslJQUJScna/ny5cZPBAAAAAB6mtEMlNPp1KxZs/T4448rNTW1WwfKy8tT\ndna2MjMztWrVKuXm5mrNmjVu61x33XX64Q9/qKCgIB07dkyTJ09WSkqKRo0a1a1jAgAAAIAnGRUo\ni8WikpISBQcbT1i5aWhoUHl5uVavXi1JSk9P15w5c9TY2KiwsDDXehdeeKHrcXNzs1pbWxUUFNRu\nfw6HQ01NTe0y8r5UAAAAAHpSkMPhaDNZ8fHHH1dTU5PmzZvnuhOfqXfeeUczZ87U1q1bXcsmTpyo\nFStWaMyYMW7rvvLKK5o/f75qamr0i1/8QrNmzWq3v4ULFyo/P99tWWxsrCoqKlRTU6PW1tZzygcA\nvcHSo7+XJM268DYfJ+mYv+cDAHx5hISEKC4urnvbmq5YWFioAwcOaOnSpQoLC1NQUJDa2toUFBSk\nnTt3duvgHbnmmmt0zTXXaO/evfrhD3+o73znO4qPj3dbJycnR1lZWW7LLBaLJHX7hfCWysrKds/H\n3wRCRikwcpLRMwIhoxQAOUtP/+G3GUv/89BvM/6b34+1AiOjFBg5yegZZPScQMgZCBm7y7hArVix\notsHiYqK0r59++R0OmWxWOR0OlVfX9/lKXcxMTGy2Wx67bXX2r34VqtVVqu123kAAAAAoDuML2qa\nMGGCNmzYoLvvvls/+MEPdPfdd+uNN97QuHHjzrpteHi4EhMTZbfbJUl2u11JSUlu1z9J0gcffOB6\nfOjQIW3cuFFf//rXTSMCAAAAQI8ynoG69957VVVVpfz8fNf7QD366KOqr6/X0qVLz7p9QUGBcnJy\ntHjxYlmtVtctyjMyMvTAAw9o7Nixevrpp1VSUqKQkBC1tbXp9ttv1ze/+c3uPzsAAAAA8CDjArVu\n3TqVlZW5Tp0bMWKExo0bp7FjxxoVqISEBBUXF7dbXlRU5Hq8cOFC0zgAAAAA4HXGp/BFRESoubnZ\nbVlzc7OGDBni8VAAAAAA4I+MZ6AyMzN14403asaMGYqMjFRdXZ1++9vfatq0adqwYYNrve6+0S4A\nAAAA+DvjAvWHP/xBkvSb3/zGbflTTz3lehwUFKTy8nIPRQMAAAAA/2JcoCoqKnoyBwAAAAD4PeNr\noAAAAACgt6NAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJAAQAA\nAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJA\nAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAAGPJagaqqqlJaWppsNpvS\n0tJUXV3dbp3Fixdr0qRJSk5OVmpqqoqLi70VDwAAAADOymsFKi8vT9nZ2SotLVV2drZyc3PbrWOz\n2bR+/Xq99dZbWrJkiX7yk5+oubnZWxEBAAAAoEteKVANDQ0qLy9Xenq6JCk9PV3l5eVqbGx0W+9b\n3/qWzj//fEnSqFGjJEmHDx/2RkQAAAAAOKsQbxykrq5OkZGRslgskiSLxaKhQ4eqtrZWYWFhHW7z\n/PPPa/jw4YqKimr3NYfDoaamJrdlFotF0dHRng8PAAAAAP/mlQJ1rjZt2qQFCxboxRdf7PDry5Yt\nU35+vtuy2NhYVVRUqKamRq2trd6I2W2VlZW+jnBWgZBRCoycZPSMQMgoBUZOMnoGGT0nEHKS0TPI\n6DmBkNOfM4aEhCguLq5723o4S4eioqK0b98+OZ1OWSwWOZ1O1dfXdzhj9Pbbb2vGjBlauXKl4uPj\nO9xfTk6OsrKy3Jadmd3q7gvhLZWVlZ0+L38RCBmlwMhJRs8IhIxSAOQsPf2H32Ys/c9Dv834b34/\n1gqMjFJg5CSjZ5DRcwIhZyBk7C6vFKjw8HAlJibKbrcrMzNTdrtdSUlJ7U7f2759u2699VY988wz\nGjNmTKf7s1qtslqtPR0bAAAAANx47S58BQUFKiwslM1mU2FhoQoKCiRJGRkZKisrkyTdd999am5u\nVm5urlJSUpSSkqJ3333XWxEBAAAAoEteuwYqISGhw/d1Kioqcj0uKSnxVhwAAAAAOGdem4ECAAAA\ngEBHgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQo\nAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAA\nQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIAAAAAQxQoAAAAADBEgQIA\nAAAAQxQoAAAAADBEgQIAAAAAQ14rUFVVVUpLS5PNZlNaWpqqq6vbrbN+/Xp94xvf0MUXX6wHH3zQ\nW9EAAAAAwIjXClReXp6ys7NVWlqq7Oxs5ebmtltn+PDheuKJJ3T33Xd7KxYAeMzSo79Xbun9vo4B\nAAB6kFcKVENDg8rLy5Weni5JSk9PV3l5uRobG93Wu+SSS5SUlCSLxdLl/hwOhz7++GO3j9ra2h7L\nDwAAAACSFOKNg9TV1SkyMtJVjCwWi4YOHara2lqFhYWd8/6WLVum/Px8t2WxsbGqqKhQTU2NWltb\nPZK7p1RWVvo6wlkFQkYpMHKS0TMCIeMZ/p7V3/NJZPSUQMgoBUZOMnoGGT0nEHL6c8aQkBDFxcV1\nb1sPZ/GKnJwcZWVluS07U866+0J4S2VlpeLj430do0uBkFEKjJxk9IxAyChJKj39h99mDZB8kh9n\n/LdA+DsZCBmlwMhJRs8go+cEQs5AyNhdXilQUVFR2rdvn5xOpywWi5xOp+rr6xUdHd2t/VmtVlmt\nVg+nBAAAAICueeUaqPDwcCUmJsput0uS7Ha7kpKSunX6HgAAAAD4itfuwldQUKDCwkLZbDYVFhaq\noKBAkpSRkaGysjJJ0pYtWzRy5Eg9+eSTevrppzVy5EgVFxd7KyIAAAAAdMlr10AlJCR0WIaKiopc\njydPnqxdu3Z5KxIAAAAAnBOvzUABAAAAQKCjQAEAAACAIQoUAAAAABiiQAEAAACAIQoUAAAAABii\nQAEAAACAIQoUAAAAABiiQAEAAACAIQoUAAAAABiiQAEAAACAIQoUAAAAABiiQAEAAACAIQoUAAAA\nABiiQAEAAACAIQoUAAAAABiiQAHwa7ml92vp0d/7OgYAAIAkChQAAAAAGKNAAQAAAIAhChQAAAAA\nGKJAAQAAAIAhChQAAAAAGKJAAQAAAIAhChQAAAAA/P/27jwsivOA4/iXw0g0CgpoVERJvSuGYrwA\nldhgTbQxqQfRSFOvGDyS2KZqNbHRJx7EGtqqSTVPD6vBCzXaJpoYvIitxmIkIopHPMCDgAeKcghL\n/+Bx48ouYCQ7s3l+n+fxEYZx9+vswjvvzjBbTZpAiYiIiIiIVJMmUCIiIiIiItXktAnUiRMniIqK\nonPnzkRFRXHy5MkK65SWlvLaa68REhLCT37yE/75z386K09ERERERKRKTptATZ48mTFjxpCSksKY\nMWN49dVXK6yzdu1avv76aw4cOMC2bduYP38+Z86ccVaiiIiIiIhIpZwygcrJySE1NZXBgwcDMHjw\nYFJTU8nNzbVZb+PGjbzwwgu4u7vj5+dH//792bRpU4Xbu3r1KmfOnLH5k5WV5Yz/yn3z9PQ0OqFK\nrtAIrtGpxvvX8IEGNHyggdEZ1WL2VlfpM/tzEsz/fQOu0Qiu0anGmqHGmuMKna7Q+F25Xb16tez7\nvpODBw/y0ksvsXfvXuuybt26sXTpUkJCQqzLwsLCWLx4MaGhoQD86U9/4ty5c7z99ts2tzdv3jzi\n4uJslnXv3p2tW7d+j/8LERERERH5Ibl+/Tr16tW7p3/jkheRiI2NJTU11ebPzJkz6devn6mPRGVl\nZdGpUyc11gBX6FRjzXCFRnCNTjXWDDXWHFfoVGPNUGPNcYVOV2ns168fly9fvud/65Rja82aNeP8\n+fOUlpbi4eFBaWkpFy5cICAgwGa9gIAAMjMzrUegsrKyaN68eYXb8/HxwcfHp8LyvXv3Ulpa+v38\nJ2pAaWkpZ8+eVWMNcIVONdYMV2gE1+hUY81QY81xhU411gw11hxX6HSVxjvPjrsXTjkC5e/vT3Bw\nMImJiQAkJibSqVMn/Pz8bNYbOHAgy5cvx2KxkJuby0cffcTTTz/tjEQREREREZEqOe0Uvvj4eJYt\nW0bnzp1ZtmwZ8fHxAAwZMoQvv/wSgOeee46WLVsSGhrKE088wZQpU2jZsqWzEkVERERERCrltMtj\ntGnThqSkpArL161bZ/3Yw8ODd955x1lJIiIiIiIi98Rj2rRpbxodUVNq165NREQEXl5eRqc4pMaa\n4wqdaqwZrtAIrtGpxpqhxprjCp1qrBlqrDmu0PlDbnTKZcxFRERERER+CFzyMuYiIiIiIiJG0ARK\nRERERESkmlx2AjV8+HDCw8Pp2bMnTz75JF999RUAwcHBdOnShYiICCIiIuxeuMLoxsLCQn79618T\nGhpKWFgYr7zyiqkaz5w5Y91+ERERBAcHG341REfbcuvWrfTs2ZOIiAjCw8PZvHmz6Ro/+eQTevXq\nRVhYGE899RSnT582rPG2+fPn4+PjQ3p6OgD79+8nPDyczp078+yzz5KTk2NwYcXGsWPH0q5dO3x8\nfMjPzze4rtydjSdOnGDAgAF06dKFHj16MH78eAoKCoxOtGm0WCxERUURHh5OeHg4gwYN4syZM0Yn\nAhUf79smTJhgmsf87kYfHx/CwsKsPysPHz5scGHFxitXrjB69Gg6d+5M9+7diYuLM7jQtnHfvn02\n4027du3o1auX0YkVtuOKFSusj3VkZCT/+c9/DC4sd3fnypUrCQsLo3v37kRHR3PlyhXD2hztj5lp\nvHHUaLbxxl6n2cYce41mG3OqmiPcy3jjtKvw1bT33nsPb29vAD766CMmTpzI7t27AVi+fDkdOnQw\nMg9w3Dhz5kxq165NSkoKbm5ufPPNN6Zr/Pzzz63rTJs2zfA3QrPXuWvXLsaNG8eWLVvo0KEDaWlp\n9OvXjwEDBuDu7vzXBuw1bt68mdjYWD799FNatWrFmjVr+M1vfsP69eud3nfbwYMH+d///md9k2qL\nxcKLL77Iu+++S48ePViwYAFvvvkmS5YsMU0jwIgRI5g7dy6tW7c2rOtOdzfWqlWLOXPm8Oijj2Kx\nWBg9ejSLFi1iypQppml0d3cnMTHR+jx97733mDFjBitXrjSsEew/3gBbtmzBzc3NoCpbjho//fRT\nHnroIYOqbNlrjI2NpVevXvz1r38FIDs726g8oGJjt27dbMab4cOH06NHD6PygIqNly9fZvr06aSk\npNCoUSM+/vhjJk+ezL59+0zVmZGRwZw5c0hOTsbPz48FCxYwe/Zs69vGGOHu/TEzjjf29hnNNt5A\nxc4zZ86Ybsyxty3NNuY4miPc63jjskegbj8YANeuXTNkh7kq9hrz8/NZvXo1M2bMsD5QjRo1Miqx\nyu1YXFzMunXreP75552dZsNRp7u7O9euXQMgLy+Pxo0bG/ZcsNf49ddf06hRI1q1agVA3759SUpK\n4tKlS4Y0FhUV8dvf/paFCxdalx08eBAvLy/rTsuoUaP48MMPDekD+40AvXv3xt/f36AqW/YaW7Ro\nwaOPPgqUPy9DQ0PJzMw0KtHhdrzzeXr9+nXDf3Y66rx8+TJxcXHMmTPHoLJvOWo0E3uNJ0+e5PDh\nw8TGxlqXNW7c2Ig8oOrtmJOTw44dO4iOjnZy2bfsNZaVlVFWVmZ9VTovL4+mTZsalQjY7zxy5AjB\nwcH4+fkBEBUVZfNWMWZgtvHGETONN46YbcxxxGxjjj3fZbxx2SNQAJMmTWLHjh2UlZWRmJhoXT52\n7FjKysro0aMHb7zxBj4+PqZpPHXqFA0bNiQuLo7k5GTq1q3L66+/bugrbo62I5TPyJs0aUJISIhB\ndd+6u9PNzY1//OMfDB8+nDp16pCfn2/4YHF3Y9OmTcnOzubAgQOEhoaydu1aADIzM/H19XV639y5\ncxk6dCgtWrSwLsvMzLR5xdrX1xeLxcKVK1do0KCBKRrNpqrGgoICPvjgA2bOnOnksm9V1jhkyBBS\nU1Px9fVlw4YNBtR9y1Hna6+9xu9+9zubwdcolW3LAQMGUFJSQlRUFNOmTaN27doGFNpvPHr0KM2a\nNWPSpEl89dVXNG7cmNmzZ9O+fXvTNN5p9erVPP7444a+qGiv0dfXl/j4eHr37o23tzcWi4V///vf\nhjWC/c6OHTty4MABTp8+TYsWLUhMTCQ/P9+wn+VQcX/MbOONvUYj9xkrU1mnGcYccNxopjHHXuN3\nGW/MNw28B4sWLSItLY033njD+qTZsmULe/bsse7EGnko015jaWkpp0+fplOnTuzcuZNZs2YRExNj\nPYpihsY7rVy5khEjRhhUZuvuzpKSEt555x0SEhJIS0tj9erVjBw50tDzle9u9Pb25u9//zvTp08n\nMjKSnJwcvL298fR0/msXX3zxBV9++SVjxoxx+n1X1w+hsaSkhFGjRtGzZ0+eeuopJ9eVq6px3bp1\nHD16lEGDBvGHP/zByXXfctS5ceNGatWqxc9+9jODyr5V2bZMS0tj586dfPzxxxw9epQFCxYYUOi4\nsbS0lP379zN8+HB2795NTEwMw4YNM1XjnT744ANDxxtHjdeuXeP9999n+/btpKWlMWfOHEaMGEFZ\nmTHvAuOos1WrVsTFxTFq1CieeOIJ64TEw8PDiEzT7Y/Z4wqNUHmnGcacqhrNMubYa/yu441LT6Bu\ne+6550hOTuby5csEBAQA5W+MNXr0aPbu3WtwXbnbjU2bNsXT05PBgwcD8Nhjj+Hr68vJkycNLrTd\njgDnz7d4/P4AAAlxSURBVJ9nz549DB061OAyW7c7Dx48yMWLF+nevTsA3bt3p06dOhw7dszgQttt\nGRkZydatW9m5cycvvvgihYWFBAUFOb1pz549HDt2jE6dOhEcHMz58+cZNGgQp06dsjnsf+nSJdzd\n3Q15NdBR4/bt253e4khljaWlpYwdOxYfHx/efvttUzbe5u7uTkxMDGvWrDFd5/z580lOTiY4OJjg\n4GCg/Pv76NGjpmncvn27dbypX78+v/zlLw0bbyr73g4ICCAsLAyAp59+muzsbENOIa7qObl//36u\nXLlC3759nd5WVWNSUhLe3t7W34d59tlnOXXqlGGnYle2LW//nZSURGRkJE2bNqV+/fqGdNrbH2ve\nvLlpxhtHjWbkqNMsYw5UvS3NMObYa/z888+/03jjkhOo/Px8srKyrJ9v2bKFBg0aULt2bfLy8oDy\nc5Y3bNhg3RhmafT396dnz57s2LEDgBMnTpCTk2PIDrWjxts/yFatWkXfvn1p2LCh09vu5KgzICCA\n8+fPc/z4caD8F2i/+eYb023L27+0bbFYmD17NiNHjqRu3bpOb5w8eTJHjx7l0KFDHDp0iKZNm7J+\n/XpefvllCgoK+O9//wvA3/72NwYOHOj0vsoa+/TpY0iPPY4aIyMjiY2NxcPDg8WLFxt68QNHjZ06\ndbLZ6fvwww8NveCOo859+/aRnp5uXQ6wd+9e2rVrZ5rG0NBQ6xWvSkpK2LRpk2HjTWXf23Xr1uXI\nkSNA+Y53gwYNDPmZXtX39sqVK4mOjjbk6HxVjUFBQaSmplqvFrd7927q1atnyGnYlXX26dPHOt4U\nFhYyb948Jk6caEjjjRs37O6PhYSEmGa8cdRoNo46LRaLacYcR425ubmmGXMcNS5cuPA7jTcu+TtQ\nN2/e5Fe/+hU3b960vnKxatUqcnJyiImJobS0FIvFQtu2bQ37pV9HjW5ubsTHxzNhwgRef/11PD09\nWbp0qSHn3FbWCJCQkGCKS9466nz44YdZuHAhL7zwgrV58eLFhrySVdm2fOutt9i3bx/FxcX06dOH\nN9980+l9lXF3d2fp0qVMnjyZwsJCAgMDWbZsmdFZFYwYMYIDBw4A0KVLF9q3b2/4udR32rZtG2vX\nrqVDhw707t0bKH8Vy8jTFe6WnZ3N+PHjuXXrFoBpH2tXcOzYMV599VXc3NwoKSmha9euzJgxw+gs\nG25ubixZsoQJEyZQVFREnTp1WLFihWmubHhbQUEBGzdu5LPPPjM6xa6QkBBefvll+vfvT61atahd\nuzbLly833XaE8sswZ2ZmUlxczKBBg3jppZcM6XC0P2am8aayfUYzjTeOOs005jhqNNOYU9NzBLer\nV68acxKviIiIiIiIi3HJU/hERERERESMoAmUiIiIiIhINWkCJSIiIiIiUk2aQImIiIiIiFSTJlAi\nIiIiIiLVpAmUiIiIiIhINWkCJSIiIiIiUk2aQImIiCnNmjWLd999Fyh/g8jk5OQaud3Y2Fjeeuut\nGrkte/r06cORI0e+t9sXERFjeRodICIicrfc3FxWr17NgQMHANi7d6/BRdU3adIk5s6dy4oVK4xO\nERGR74GOQImIiOkkJCQQFRXFgw8+aHTKPXvyySdJTk4mOzvb6BQREfkeaAIlIiJO0bVrV5o1a4a/\nvz/+/v40a9aMZs2akZGRUWHdbdu2ER4ebv08ODiYnTt32ny+aNEiwsLCCAwMZOTIkRQWFtq939TU\nVHr16kVAQAAjR46kqKjI5uvx8fGEhIQQEBBAt27d+Ne//gXAn//8Z2JiYmzWnTJlClOnTgXgj3/8\nI+3btycgIIDHHnuMXbt2AeDl5UVISAhJSUn3vpFERMT0NIESERGn+OKLLzh37hzR0dFMnTqVc+fO\nce7cOdq2bVth3fT0dFq3bl3p7W3cuJH169eTmprK4cOHSUhIqLBOcXExzz//PNHR0Zw6dYpnnnmG\nzZs326wTFBTEli1bOHv2LFOnTmXcuHFcvHiRoUOHkpSUxNWrVwEoKSlhw4YNDBs2jOPHj/P++++z\nfft2srKyWL9+PYGBgdbbbNOmDWlpad9lM4mIiMlpAiUiIk51+PBh2rdvX+k6eXl5PPTQQ5WuM27c\nOJo0aUKDBg3o168fhw4dqrDO/v37KSkpYfz48dSqVYuBAwcSGhpqs84zzzxDkyZNcHd35xe/+AWP\nPPIIKSkpPPzww4SFhbFp0yYAPvvsM3x9fQkJCcHDw4OioiIyMjK4desWLVq0ICgoyHqb9erVIy8v\nr7qbREREXIgmUCIi4jQWi4WMjAw6dOhQ6Xo+Pj7k5+dXuk7jxo2tHz/44IPcuHGjwjoXL16kSZMm\nuLm5WZc1b97cZp1Vq1YRERFBYGAggYGBHDlyhEuXLgEwbNgw1qxZA8DatWuJjo4G4JFHHmHevHnM\nnz+fVq1aMWrUKC5cuGC9zevXr+Pt7V1pv4iIuCZNoERExGkyMzOxWCy0bNmy0vV+/OMfc+LEifu+\nv8aNG3PhwgXKysqsy7Kysqwfnz17lldeeYUFCxZw6tQpzp49a3N0rH///hw+fJj09HQ++eQThgwZ\nYv3akCFD2Lp1K4cOHcLNzY3f//731q8dO3aMjh073ne/iIiYjyZQIiLiNNevX6dOnToUFxdXul5U\nVBR79uy57/vr2rUrnp6e/OUvf+HWrVts3ryZlJQU69dv3ryJm5sbfn5+AKxcudLmPZy8vLwYOHAg\nY8aMITQ01Hr06vjx4+zatYuioiK8vLzw8vLC3b18SC0sLOTgwYM8/vjj990vIiLmowmUiIg4Tdu2\nbenYsSMtW7bk2LFjDtcbNmwY27Zto6Cg4L7u74EHHmDFihUkJCQQFBTExo0b+fnPf279ert27Zg4\ncSJRUVG0bt2a9PR0unXrVqElPT3devoeQFFREbNmzeJHP/oRbdq0ITc313oEauvWrURERNCkSZP7\nahcREXNyu3r1alnVq4mIiDjX7Nmz8fPzY/z48YZ2ZGZm0rVrVzIyMqhfv36V6//0pz9l0aJFVf6e\nl4iIuCZNoERERBywWCxMnz6d69evs2TJEqNzRETEBDyNDhARETGjGzdu0KZNG5o3b05iYqLROSIi\nYhI6AiUiIiIiIlJNuoiEiIiIiIhINWkCJSIiIiIiUk2aQImIiIiIiFSTJlAiIiIiIiLVpAmUiIiI\niIhINWkCJSIiIiIiUk2aQImIiIiIiFSTJlAiIiIiIiLV9H8iwaY11u+GZQAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 900x1080 with 3 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "FfiTXgF80sDA"
      },
      "source": [
        "## Interpretation\n",
        "\n",
        "Recall that Bayesian methodology returns a *distribution*. Hence we now have distributions to describe the unknown $\\lambda$s and $\\tau$. What have we gained? Immediately, we can see the uncertainty in our estimates: the wider the distribution, the less certain our posterior belief should be. We can also see what the plausible values for the parameters are: $\\lambda_1$ is around 18 and $\\lambda_2$ is around 23. The posterior distributions of the two $\\lambda$s are clearly distinct, indicating that it is indeed likely that there was a change in the user's text-message behaviour.\n",
        "\n",
        "What other observations can you make? If you look at the original data again, do these results seem reasonable? \n",
        "\n",
        "Notice also that the posterior distributions for the $\\lambda$s do not look like exponential distributions, even though our priors for these variables were exponential. In fact, the posterior distributions are not really of any form that we recognize from the original model. But that's OK! This is one of the benefits of taking a computational point of view. If we had instead done this analysis using mathematical approaches, we would have been stuck with an analytically intractable (and messy) distribution. Our use of a computational approach makes us indifferent to mathematical tractability.\n",
        " \n",
        "Our analysis also returned a distribution for $\\tau$. Its posterior distribution looks a little different from the other two because it is a discrete random variable, so it doesn't assign probabilities to intervals. We can see that near day 45, there was a 50% chance that the user's behaviour changed. Had no change occurred, or had the change been gradual over time, the posterior distribution of $\\tau$ would have been more spread out, reflecting that many days were plausible candidates for $\\tau$. By contrast, in the actual results we see that only three or four days make any sense as potential transition points. \n",
        "\n",
        "### Why would I want samples from the posterior, anyways?\n",
        "\n",
        "We will deal with this question for the remainder of the book, and it is an understatement to say that it will lead us to some amazing results. For now, let's end this chapter with one more example.\n",
        "\n",
        "We'll use the posterior samples to answer the following question: what is the expected number of texts at day $t, \\; 0 \\le t \\le 70$ ? Recall that the expected value of a Poisson variable is equal to its parameter $\\lambda$. Therefore, the question is equivalent to *what is the expected value of $\\lambda$ at time $t$*?\n",
        " \n",
        "In the code below, let $i$ index samples from the posterior distributions. Given a day $t$, we average over all possible $\\lambda_i$ for that day $t$, using $\\lambda_i = \\lambda_{1,i}$ if $t \\lt \\tau_i$ (that is, if the behaviour change has not yet occurred), else we use $\\lambda_i = \\lambda_{2,i}$. \n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "DgNkjkmO1h4I",
        "outputId": "02caf88d-25f9-4387-a0b5-131cea3798ca",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 608
        }
      },
      "source": [
        "# tau_samples, lambda_1_samples, lambda_2_samples contain\n",
        "# N samples from the corresponding posterior distribution\n",
        "\n",
        "N_ = tau_samples.shape[0]\n",
        "expected_texts_per_day = tf.zeros(N_,n_count_data.shape[0]) #(10000,74)\n",
        "\n",
        "plt.figure(figsize=(12.5, 9))\n",
        "\n",
        "day_range = tf.range(0,n_count_data[0],delta=1,dtype = tf.int32)\n",
        "\n",
        "# expand from shape of 74 to (10000,74)\n",
        "day_range = tf.expand_dims(day_range,0)\n",
        "day_range = tf.tile(day_range,tf.constant([N_,1]))\n",
        "\n",
        "# expand from shape of 10000 to 10000,74\n",
        "tau_samples_per_day = tf.expand_dims(tau_samples,0)\n",
        "tau_samples_per_day = tf.transpose(tf.tile(tau_samples_per_day,tf.constant([day_range.shape[1],1])))\n",
        "\n",
        "tau_samples_per_day = tf.cast(tau_samples_per_day,dtype=tf.int32)\n",
        "#ix_day is (10000,74) tensor where axis=0 is number of samples, axis=1 is day. each value is true iff sampleXday value is < tau_sample value\n",
        "ix_day = day_range < tau_samples_per_day\n",
        "\n",
        "lambda_1_samples_per_day = tf.expand_dims(lambda_1_samples,0)\n",
        "lambda_1_samples_per_day = tf.transpose(tf.tile(lambda_1_samples_per_day,tf.constant([day_range.shape[1],1])))\n",
        "lambda_2_samples_per_day = tf.expand_dims(lambda_2_samples,0)\n",
        "lambda_2_samples_per_day = tf.transpose(tf.tile(lambda_2_samples_per_day,tf.constant([day_range.shape[1],1])))\n",
        "\n",
        "expected_texts_per_day = ((tf.reduce_sum(lambda_1_samples_per_day*tf.cast(ix_day,dtype=tf.float32),axis=0) + tf.reduce_sum(lambda_2_samples_per_day*tf.cast(~ix_day,dtype=tf.float32),axis=0))/N_)\n",
        "\n",
        "plt.plot(range(n_count_data[0]), expected_texts_per_day, lw=4, color=\"#E24A33\",\n",
        "         label=\"expected number of text-messages received\")\n",
        "plt.xlim(0, n_count_data.numpy()[0])\n",
        "plt.xlabel(\"Day\")\n",
        "plt.ylabel(\"Expected # text-messages\")\n",
        "plt.title(\"Expected number of text-messages received\")\n",
        "plt.ylim(0, 60)\n",
        "plt.bar(np.arange(len(count_data)), count_data, color=\"#5DA5DA\", alpha=0.65,\n",
        "        label=\"observed texts per day\")\n",
        "\n",
        "plt.legend(loc=\"upper left\");"
      ],
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAJPCAYAAACza39nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3zNd///8edJghjRGK2VRFDUiBkq\nq4hGURp71riKWI2G2uOitak9g6q6jCq1rsuumRitUdVaDUJjFSEkkSDj94ef85WK5FDnhJzH/XbL\n7ZZ8xvvz+nze5yTnmfdnGKKiopIFAAAAAFbKJqMLAAAAAICMRCgCAAAAYNUIRQAAAACsGqEIAAAA\ngFUjFAEAAACwaoQiAAAAAFaNUAQAr5Bly5apXr16GV2GLl68KEdHRyUkJGTI9g8ePKgqVaqoSJEi\n+t///pchNSBj9OnTRxMnTnzp7Y4bN04BAQEvvV0AmQOhCMBrzc3NTQULFlSRIkWMX/3798+wej78\n8EMtWbIkw7afWYwdO1Zdu3bV5cuX1bBhw6fmu7m5affu3S9lWz169NDo0aNfSlv456ZOnaoBAwZk\ndBkArIxdRhcAAP/Ud999p1q1amV0GXiGhIQE2dk935+biIgIlSlTxkwV4Z96kT4FgFcZI0UAMq2+\nffuqffv2xp9HjBihjz76SMnJyQoJCVHZsmU1efJkFS9eXG5ubvr++++Ny96/f1/Dhg1T+fLlVbJk\nSfXp00dxcXHG+Rs3bpS3t7ecnZ1VqVIl/fjjjxo1apQOHDig/v37pxix+uOPP9S4cWO5urrK3d1d\na9euNbZz69YttW7dWs7OzvL19VV4ePgz9+fxKW3Lly9X+fLlVbx4cX311VfG+X8f8Xi8j4+5ublp\nxowZ8vT0VOHChfXpp5/q+vXrat68uZycnOTv76+oqKgU21y6dKneeecdlS5dWjNnzjROT0pK0tSp\nU1WpUiUVK1ZMnTp10u3bt1PUuWTJEpUvX16NGjVKdX++/fZbVa5cWa6urmrdurWuXr0qSapUqZIu\nXLig1q1bq0iRIrp//36K9QICAnTp0iXj/OnTp0uSDh06pLp168rFxUVeXl4KCQmRJN2+fVtly5bV\n5s2bJUkxMTGqXLmyVqxYocWLF2vVqlWaPn26ihQpolatWqVa67hx49SxY0cFBATIyclJnp6eOnv2\nrKZMmaK3335b5cqV086dO43L37lzR59++qlKly6tMmXKaPTo0UpMTJQknT9/Xg0aNJCLi4uKFy+u\nf/3rX5Kk5ORkDR48WG+//bacnZ3l6empkydPSpK2bt0qHx8fOTs7q1y5cho3blyK+lasWKHy5cur\nWLFimjhxYoqRtLT6Kj4+XgEBASpWrJhcXFxUu3ZtXb9+PdVj4ObmpmnTphlfPwkJCbp69arat2+v\nEiVKqEKFCpo3b55x+cTERE2ePFmVKlWSk5OTatasqUuXLklK+z3x5Ou4evXq2rJli3FeQkKCSpQo\noWPHjqXZ55J04cIFNWjQQE5OTmrcuLFu3bqV6n4BgEQoApCJjR49WidPntSyZcu0f/9+/ec//9Hc\nuXNlMBgkSX/99ZciIyN16tQpzZ07V0FBQQoLC5MkjRw5UmfPnlVISIiOHj2qK1euGK9zOHLkiHr0\n6KFRo0bp4sWL2rRpk1xcXDR8+HB5eHho0qRJunz5siZNmqTY2Fg1adJEzZs319mzZ/X111/r888/\n1+nTpyVJ/fr1k729vU6fPq1Zs2Zp2bJl6e7XwYMHdejQIa1fv14TJ07UmTNnTD4mGzZs0Lp163T4\n8GFt2bJFzZs31/Dhw3X27FklJSWl+FArPQpWR44c0Zo1azRt2jTjB+3g4GBt3LhRGzdu1OnTp+Xo\n6Kh+/fqlWHffvn366aeftGbNmqfq2LNnj7744gt98803OnPmjJydnfXJJ59Iko4dOyYnJyd99913\nunz5srJly5Zi3fnz56eY/9lnn+nKlStq2bKl+vXrpwsXLmj06NHq0KGDbt68qTx58mjWrFn67LPP\ndOPGDQ0ZMkRubm5q06aNOnXqpBYtWuizzz7T5cuXtXLlymceuy1btqhVq1a6cOGC3Nzc1LRpUyUl\nJenUqVMaMGCAgoKCjMv27NlTdnZ2Onr0qPbu3audO3caT6scM2aMfH19deHCBZ08edJ4ncvOnTu1\nf/9+HT58WH/++ae++eYb5c2bV5KUI0cOzZs3TxcvXtTKlSu1aNEi47VWp0+fVr9+/bRgwQKdOXNG\nd+/eNQbM9PpqxYoVunPnjk6cOKHw8HBNnTpV9vb2zzwGq1ev1vfff6+LFy/KxsZGrVu3Vvny5XXq\n1Clt2LBBc+fO1Y4dOyRJs2fP1g8//KBVq1YpIiJCs2bNUo4cOdJ9TzypWbNm+uGHH4w/79ixQ/ny\n5VOlSpXS7HNJ6tq1qypVqqRz586pf//+WrFixTP3CwAIRQBee+3atZOLi4vx69tvv5X06INkcHCw\nhg4dqoCAAE2cOFFFihRJse7QoUOVLVs2eXt7q27dulq7dq2Sk5P17bffaty4ccqTJ48cHBz0+eef\nGz+c/ec//1G7du1Uu3Zt2djYqHDhwipVqlSqtW3dulUuLi76+OOPZWdnp4oVK+qjjz7SunXrlJiY\nqA0bNmjIkCHKmTOnypYtqzZt2qS7vwMHDlT27Nnl5uam8uXL6/fffzf5WAUEBOitt95S4cKF5eHh\nIXd3d1WsWFH29vZq2LChjh8//tS2cubMqXLlyqldu3ZavXq1JOmbb77R8OHDVaRIEWXLlk2DBg3S\n+vXrU9yYYfDgwcqZM6eyZ8/+VB2rVq3Sxx9/rEqVKilbtmwaMWKEDh06pIsXL5q8L0/6/vvv5efn\np7p168rGxka1a9dW5cqVtW3bNkmSr6+v/P395e/vr+3bt2vatGnPvQ0PDw/VqVNHdnZ2aty4sSIj\nI9WnTx9lyZJFTZs21Z9//qmoqChdv35d27dv17hx45QzZ069+eab6tmzp/H1Y2dnp4iICF29elX2\n9vby8PAwTo+JiVFYWJiSk5NVunRpFSxYUJLk4+OjcuXKycbGRuXLl1ezZs20b98+SdL69etVr149\neXh4KGvWrBoyZIgx+Etp95WdnZ1u376t8+fPy9bWVpUqVVLu3LmfeQy6desmJycnZc+eXUePHlVk\nZKQGDhyorFmzytXVVR07djTu55IlSzR06FCVLFlSBoNBbm5uyps3b5rvib9r0aKFNm/erHv37kl6\nFMqaNWuWbp9HRETo6NGjxve3l5fXK3EDEwCvLk4IBvDaW7Zs2TOvKXJ3d5erq6tu3rypJk2apJjn\n6OionDlzGn92dnbWtWvXdPPmTd27d081a9ZMsfzj058uX74sPz8/k2qLiIjQ4cOH5eLikqKdVq1a\n6ebNm0pISEgR1JydndNts0CBAsbvs2fPrtjYWJNqkaS33norxbpvvvlmmm39vbbHp3NFRETo448/\nTvHh29bWNsWpV38PoE+6du2aKlasaPw5V65cyps3r65evaqiRYuavD+PRUREaP369U+dauXj42P8\nuVOnTlqwYIE+//xz4whMar7//nv16dNH0qMg9DgI/v3Y5c2bV7a2tsafJSk2NlbXrl3Tw4cPVbp0\naePyycnJxuPx5ZdfasyYMapTp44cHR3Vq1cvtW/fXjVr1lTXrl3Vr18/RUREqFGjRho1apRy586t\nw4cPa+TIkTp16pQePnyo+/fvy9/f33gsnzzWOXLkSLF/afVV69atdfnyZXXu3Fl37txRy5YtNXz4\ncGXJkiXVY+Pk5JSi3atXr6Z4bSclJRlD3uXLl1WsWLGn2kjrPfF3xYsXV6lSpbRlyxbVq1dPmzdv\n1t69e43tPKvPr127lur7+/Lly6nuFwAQigBkagsWLNCDBw9UsGBBTZ8+XX379jXOi4qKUmxsrPGD\n06VLl1SmTBnly5dP2bNn18GDB1W4cOGn2ixSpMgzr/158oPn42W9vLxS/S94YmKi7OzsdPnyZeNI\n0+NrLl5Ezpw5jf9Rl/TMa0Oex99rezxyUaRIEc2aNUs1atR4ap3Hoz1/PxZPKliwoCIiIow/x8bG\n6tatWypUqJBJdaV2nFu1aqUZM2akunxiYqKCgoLUunVrLVy4UO3atVPx4sVTbatly5Zq2bKlSXWk\n5vGIzPnz51O9GUGBAgWMdR44cECNGzeWl5eXihcvru7du6t79+66ceOGOnXqpBkzZmjYsGHq0qWL\nunbtqtWrV8ve3l6DBg0yXiNToEABnT171th+XFxciutn0uorSRo0aJAGDRqkixcvqmXLlnr77bfV\noUOHVJd98lgVKVJERYsW1dGjR595HMLDw1Nc1/Z4+rPeE6lp1qyZVq9eraSkJJUuXdrYb2n1+eNR\nu7+/v9N6TQKwbpw+ByDTOnv2rEaPHq3g4GAFBwdr+vTpT50eNm7cOD148ED79+/X1q1b1bhxY9nY\n2KhDhw4aMmSIbty4IUm6cuWK8VqJ9u3ba9myZdqzZ4+SkpJ05coV/fHHH5IejSZcuHDB2P4HH3yg\ns2fP6rvvvtPDhw/18OFDHT16VGfOnJGtra0aNWqk8ePH6969ezp9+vQ/uu7Bzc1N27dv1+3bt/XX\nX39p7ty5L9zWY5MmTdK9e/d06tQpLVu2TE2bNpUk/etf/9KoUaP0559/SpJu3rypjRs3mtxu8+bN\ntWzZMh0/flz379/Xl19+KXd3d5NHif5+nFu2bKktW7Zox44dSkxMVHx8vEJCQowjA5MnT5bBYNDs\n2bPVu3dvde/e3Tjy9/e2/qmCBQuqdu3aGjp0qO7evaukpCSFh4crNDRUkrRu3TpjXY6OjjIYDLKx\nsdHRo0d1+PBhPXz4UDly5JC9vb1sbB79mY6JiVGePHlkb2+vI0eOGEevJMnf319btmzRTz/9pAcP\nHmj8+PFKTk42zk+rr/bu3asTJ04oMTFRuXPnlp2dnXGb6alatapy5cqladOmKS4uTomJiTp58qQx\nJHXo0EFjxozRuXPnlJycrN9//123bt1K8z2RmmbNmmnXrl36+uuv1bx5c+P0tPrcxcVFlStXNr6/\nDxw4kGJECQD+jlAE4LX3+C5kj7/atWunhIQEBQQEKCgoSG5ubipRooT+/e9/q3v37sa7mRUoUECO\njo565513FBAQoClTphhHRb744gsVL15c77//vpydndW4cWPjTRiqVq2q2bNna/DgwXJxcdGHH35o\nHPXo3r271q9fr6JFi2rAgAFycHDQ2rVrtWbNGr3zzjsqVaqURowYYazh8c0YSpcurZ49e6pt27Yv\nfBxatWql8uXLq0KFCmrSpMlTpwu+CC8vL1WpUkX+/v4KDAyUr6+vpEd3CKtfv76aNm0qJycnvf/+\n+zpy5IjJ7daqVUtDhw5Vhw4dVLp0aV24cEFff/21yev36dNHX331lVxcXDRz5kw5OTlp+fLlmjx5\nskqUKKFy5cpp5syZSkpK0rFjxzR79mzNmzdPtra2CgoKksFg0NSpUyU9CrmnT5+Wi4vLPzr+T5o3\nb54ePnyoGjVqyNXVVR06dNBff/0lSTp69Kjef/99FSlSRG3atNH48ePl6uqq6Oho9e7dW66ursbr\nb3r37i3pUagbO3asnJycNHHixBR9W6ZMGU2YMEGdO3dW6dKljdcxZc2aVVLafXX9+nV17NhRzs7O\nql69ury8vNS6dWuT9tHW1lYrV67Ub7/9pooVK6p48eLq3bu37t69K0nq1auX8XXo7OyswMBAxcXF\npfue+LuCBQuqWrVq+vnnn42hXFKafS5JCxcu1JEjR1SsWDFNmDDB5P0CYJ0MUVFRyekvBgCZS0hI\niLp162a8RgbILGJiYlS0aFEdOXJErq6uGV0OALwWGCkCAOA19/gObbGxsRo+fLjKli37QjesAABr\nZbFQFB8fr759+6pKlSry9PTUZ599JunROf9+fn6qWrWq/Pz8dO7cOUuVBABAprBp0ya98847KlOm\njM6dO6dFixZxUwEAeA4WO31uwIABsrW11dixY2UwGHT9+nW99dZbatSokT7++GO1atVKK1eu1NKl\nS/Xf//7XEiUBAAAAgGVCUUxMjMqWLauTJ08qV65cxuk3btxQ1apVFR4eLltbWyUmJqpYsWI6evSo\n8ufPn6KNqKgo3blz56m28+bNKwcHB3PvAgAAAIBMyiLPKQoPD1fevHk1YcIEhYSEKGfOnBo2bJiy\nZ8+uwoULGx9+Z2trq0KFCunSpUtPhaK5c+dqwoQJKabVqFGDW2wCAAAA+EcsEooSExN14cIFVahQ\nQaNGjdLhw4fVunVrLV682OQ2evTo8dStUh+HKbz6wsPDU32yOV4dlu6j1Sfupjm/ebncFqrk9cJ7\n6fWQGfrJGt6jmaGfrAH99OrLDH1kkVDk7OwsOzs740PX3N3djU+Mv3LlihITE42nz129elVOTk5P\nteHo6ChHR0dLlAszSEhIyOgSkA5L91HMA54G8CJ4L70eMkM/WcN7NDP0kzWgn159maGPLHL3uXz5\n8snHx0e7du2S9OiOczdu3FCJEiXk5uZmfDL36tWrVaFChadOnQMAAAAAc7HISJEkTZ06Vb169dKw\nYcNkZ2en4OBgOTo6aurUqerRo4cmTpwoR0dHzZs3z1IlAQAAAIDlQpGrq6s2btz41PRSpUppx44d\nlioDAAAAAFKwWCiypISEBEVGRurBgwcZXQr+P1tbW0VERGR0GUiDpfvo3dxJac6PiEj7Iu9XVdas\nWZUvXz7Z2WXKX68AAGRKmfKvdmRkpLJnz6633nqLJ3q/IuLj42Vvb5/RZSANlu6jm/fSvigzf47X\n79dTcnKyoqOjFRkZqQIFCmR0OQAAwEQWudGCpT148EAODg4EIgAWZTAY5ODgwCg1AACvmUwZiiQR\niABkCH73AADw+sm0oQgAAAAATEEoshL/+9//dOTIkRdad9myZerQocNLrsg0ISEhqlWrlkW3+eDB\nA7Vo0UKenp4aPHjwU/PHjRv3j0+PunjxohYvXvyP2oDpNm3apOHDh7/UNt3c3HTy5MmX2iYAAMgY\nr9+VzC/obts6Zmk39/LX43biGzduVOXKlVW1atWMLiVDJCYmytbW1qRljx8/roiICB08eDDV+RMm\nTFBgYKCyZs36wvX8+eefWrx4sTp16vTCbWRWCQkJL/3ObQ0aNFCDBg1eapsAACDzYKTIAg4fPqyG\nDRuqZs2aqlmzprZu3SpJCg0NVZUqVXTnzh1JUs+ePTVy5EhJUo8ePdS7d2/VrVtXVatWVe/evY2j\nE3fv3lVgYKB8fX3l6empgQMHKjExUZJ05coVtW/fXp6envL09NSUKVO0Y8cObd68WdOmTZO3t7dW\nrFghSVq+fLnq1KmjmjVrqlGjRgoLC5P0aKQkKChIVapUkZ+fn44ePfrMfXNzc9OYMWPk5+cnNzc3\nzZ8/3zjP0dFRMTExqf7s6Oior776SrVr11bFihW1Z88effHFF/Lx8ZGHh4fOnDljXO/hw4fq1q2b\natSoIV9fX50+fdo471n7sGzZMvn7+6tdu3by8PDQiRMnnqp92rRp8vDwkIeHh3r27KmYmBiFhYWp\na9euunjxory9vbVmzZoU6/Tr10+SVLduXXl7eysqKuqZ/REXFydPT0/j87n27NmjatWqKTo6Wv37\n99eZM2fk7e39zFE4Nzc3jR49Wn5+fipfvrxWrVqlOXPmyNfXV5UrV9a+ffuMy27btk0ffPCBatas\nKT8/Px06dEiSFBYWJj8/P3l5ecnDw0MzZ86U9Cgke3p6ytvbWx4eHgoJCZEkzZw5U7Vr15aPj4/8\n/Px0/Phx4zbWr1+vatWqycfHR5MnT07Rn896jd+4cUP+/v7G12NqI2+SVLN6ZU0c86WaNvDTsAGf\np9m3kjRlyhR5enrKy8tLdevWVVJSUrqvh8fH2d/fP8Uz07Zs2aKGDRtKkq5du6YOHToY+3Ly5MnG\n5fbv32/cj/79+ys5OTnVfQEAAK8fqxkpyihRUVHq06ePVq1apYIFC+ratWvy9fXV/v375e3trdat\nWyswMFD169fXuXPnNGPGDOO6hw8f1rZt22Rvb68WLVpo8eLFCggI0NChQ+Xl5aWZM2cqKSlJXbt2\n1dKlS9WxY0cFBASobt26+s9//iPp0e3J8+XLp/r166ty5coKCAiQ9OgD3rp167Rp0yZly5ZN27dv\n16effqqtW7fqm2++0cWLF/XTTz/p4cOHatCggVxcXJ65j3Fxcdq+fbsuXrwoT09PtW3bVrly5Ur3\n2LzxxhvatWuX1q1bp7Zt2+rrr7/WiBEjNH36dE2ePNkYsE6cOKEJEyYoODhYy5cvV/fu3bV79+40\n9+Hx8QsNDVWxYsWe2vb27du1cuVKbd26VQ4ODurevbsmTZqkL774QjNmzNDw4cO1e/fup9b76quv\ntHDhQm3bts24j4GBgc/sj8WLF6tp06YqWLCgAgMD9Z///EcODg6aNGnSM7fxpPv372v79u06evSo\nGjZsqC+++EI7d+7U2rVrNWrUKG3ZskXh4eGaNGmSfvjhB+XOnVunTp1SixYt9Pvvv2vhwoWqX7++\n+vbtK+nR61GSxo4dq2nTpql69epKTExUbGysJKlNmzYKDAyUJO3evVt9+/bVjz/+qOvXrysoKEg/\n/vijSpQoodmzZxtrTOs1/v3336tYsWJav359iu2nJiYmWms2bZckHfrpwDP7dvny5dq8ebOx727d\nuiUbG5t0Xw+PtW3bVitWrNCHH34o6VFgateunSSpe/fu6t+/v7y8vPTgwQP5+/urSpUq8vT0VOfO\nnTV//nz5+Pho7dq1WrBgQZp9BwAAXh+EIjP7+eefdfHiRTVv3tw4zWAwKDw8XJUrV1a/fv3k7++v\nYcOGaffu3SlOG2ratKnxg3ebNm20YcMGBQQEaPPmzTpy5IhmzZol6VEoKVy4sGJiYvTzzz9r3bp1\nxjby5cuXal1btmzR77//rjp1Hp1WmJycbByxCgkJUZs2bZQlSxZlyZJFLVu2fOapZJLUrFkzSVLR\nokXl6OioK1euqFSpUukem6ZNm0qSKlasKIPBoHr16kmSKlWqpP/+97/G5YoXLy5vb29JUuvWrRUU\nFKS7d++muQ+SVKNGjVQDkfToA3/Tpk2VO3duSVKnTp00aNCgdGtOzbP6Q5JKlSqlwYMHq27duho7\ndqwqVqz4XG0/eYzu3btn/LlSpUo6f/68JGnHjh0KDw9PcXpYQkKCrl+/Lk9PT40YMUL37t2Tj4+P\n3nvvPUnSe++9pyFDhuijjz7S+++/r7Jlyyo+Pl7Hjh3T5MmTFRUVJYPBoHPnzkl6FDArVqyoEiVK\nSJI+/vhjDR06VFLar/Fq1app7ty5Gj58uLy8vIx9lZomzVsZv9+5besz+3br1q365JNP5ODgIEnK\nmzevpLRf009q1KiRhgwZolu3bkmS9u3bp3nz5ik2NlahoaG6efOmcdmYmBidOXNGb775prJnzy4f\nH59HtTZpos8+++yZ+wIAAF4vVhOKMuran+TkZJUrV06bN29Odf7du3d16dIlZcuWTbdv35azs7NJ\nbS5fvlyurq4ppj95qpopbbRr1874wfafyJYtm/F7GxsbJSQ8eiinra2t8bSm+Pj4Z65nY2OT4vqc\nJ9tIS3r7kDNnTtN34h94Vn889uuvvyp//vy6cuXKM9vYsWOHRowYIUlq2bKlevfuLen/jtHj66Ge\nPGaPj1FycrLq1Kmj4ODgp9r19/dX9erVtXPnTk2bNk3Lli3T/PnzNW7cOJ04cUJ79+5Vp06d1KtX\nLzVp0kQdO3bUxo0bValSJV29elVlypQxaf/Teo3v3btXu3bt0sqVKzVt2jRt2bIl1eWe7K8XeX2a\nuk6OHDnUoEEDrVq1StKj641y5syp6OhoGQwG7dq1S1myZEmxzu+///5UO9x6GwCAzINriszs3Xff\n1fnz57V3717jtKNHjxqvR+jZs6c6dOiguXPnqnPnzoqOjjYut27dOsXGxiohIUErV640/pe/fv36\nmjp1qvE6osjISF24cEG5cuVS9erVNWfOHGMbkZGRkiQHBwfdvXvXOL1evXr67rvvdPnyZUmPbkRw\n7NgxSY9GEVauXKmEhATFxcVp9erVL7TvxYsX1y+//CJJT12b8zzCw8O1f/9+SdKqVatUtmxZ5c6d\nO819SE+tWrW0du1aRUdHKzk5WUuWLFHt2rVNWvfvx/JZ/SFJ//3vf3XgwAEdPHhQW7du1fbt21Nt\no06dOgoNDVVoaKgxEJnK19dXO3bs0KlTp4zTHl8Hdv78eRUoUEDt2rXTwIEDjXcgDAsLU7ly5dSj\nRw+1bNlSR48e1f3795WQkCAnJydJ0tdff21sz93dXb/++qvCw8MlyXhdmpT2a/zChQtycHBQs2bN\nNGbMGB07dswYlNPcp7ofPLNvP/jgAy1atMj4Xnk84vM8r4e2bdtq+fLlWr58ufHUOQcHB3l4eGjq\n1KnG5S5duqS//vpLJUuWVHx8vPF1uH79+lRHoQAAwOvJakaKMoqjo6NWrFih4cOHa/DgwXr48KFc\nXV313Xffae7cubp//76CgoJkMBjk7++voKAg44fRKlWqqGnTprpx44a8vb2NdyobN26cRowYIW9v\nbxkMBmXNmlXjxo2Tq6ur5s+fr379+mnFihWysbFRixYtFBQUpNatW6tnz55at26devXqpTZt2mj4\n8OFq06aNEhMT9fDhQ/n7+6tSpUrq1KmTTpw4oerVqytfvnyqUqWKrl+//tz7PmbMGAUFBSl37tzG\nC9lfRNmyZbVkyRJ9/vnnyp49u+bNmydJ8vLyeuY+pMfPz08nTpxQ3bp1JT06He3xTRTS06tXL330\n0Ueyt7fX//73v2f2h8Fg0KBBg7R+/XrlyZNHixYtUsuWLbV161aVL19eJUuWlIeHh0qWLKklS5a8\n8PEpUaKE5s+fr8DAQMXFxenhw4d69913VaVKFa1du1arVq1SlixZZDAYNH78eEnSyJEjdf78edna\n2uqNN97QrFmz5ODgoCFDhqh27drKmzev/P39jdt46623NHXqVLVo0ULZs2fXBx98oCxZsihHjhyy\nsbF55ms8NDRUc+bMkY2Nje9wX/kAACAASURBVJKSkjRlyhTZ2KT/v5jqNTyf2bdt2rTR1atX5efn\nJzs7O+XKlUubNm16rteDh4eHMVR5eHgYpy9YsEBDhgyRp6enJClXrlyaNWuWChQooIULFxpfI15e\nXsbwCAAAXn+GqKioTHcLpYiICJNOQ3uV9ejRI8WNEV538fHxsre3z+gykIb0+ig6Otp4Hc/SpUu1\ndOnSZ54KZ4qb99I+RTJ/jtf3fzbm/B0UFhamkiVLmqVtvDyZoZ8W/5L2aGinym9YqBLzyQz9ZA3o\np1dfZuij1/dTBwCLCg4O1rp165SYmChHR0dNnz49o0sCAAB4KQhFr6i5c+dmdAlACv369TP5FEMA\nAIDXCTdaAAAAAGDVCEUAAAAArBqhCAAAAIBVIxQBAAAAsGpWc6OF9G4t+qIywy1JAQAAAGvGSFEG\nCgkJUa1atTK6jHT16NFD8+fPf2p6VFTUS7kt8/Hjx7V27dp/3M5jN+8lpPn1vD788MN/9DweAAAA\nvNoIRZlUQsLzf/h/Xnfu3Hkpoei33357qaHoeVjiOAEAAODVRiiygB9//FE+Pj7y9PTURx99pPPn\nzxvnPXz4UN26dVONGjXk6+ur06dPS3r0ZGA/Pz95eXnJw8NDM2fOlCQ9ePBAw4cPl6+vr7y8vBQQ\nEKCYmBhJj0Z0AgMDVb9+fdWqVUuTJk3S4MGDjdu6deuWihcvrtjY2DTbuXLlij766CO9++67atGi\nhW7dupXqfvXv31937tyRt7e36tatK0m6du2aOnToIF9fX3l6emry5MmSpBs3bsjNzU2//PKLJGn5\n8uWqV6+erl+/rnHjxmn37t3y9vbWgAEDdO/ePXXs2FHvvvuuvLy81KlTp1S3/+GHH2rQoEHy9fVV\n5cqV9eWXXxrnXf/rmnp1/ZeaNvBTA18fzZkx1TjPzc1NI0eOlK+vr4KCgp5q9/Tp06pTp45q1Kih\nTz75RPfv3zfOmzlzpmrXri0fHx/5+fnp+PHjkqQZM2akeIbP9evXVbJkSd27dy/V2gEAAPDqIBSZ\n2Y0bN9StWzctWLBA+/fvV/PmzdW1a1fj/BMnTqh9+/Y6ePCgunTpou7du0uSFi5cqPr162vfvn06\ncOCA2rdvL0maPn26cufOrZ07d2rfvn0qVKiQpk79vw/8v/32m1avXq3Q0FC1bt1aa9asMY6GrFq1\nSvXr11fOnDnTbGfgwIHy9PTUTz/9pEmTJmnfvn2p7tukSZP0xhtvKDQ0VNu2bZMkde/eXd26ddPO\nnTu1e/du/fjjj9q1a5fefPNNzZkzR126dNGhQ4c0duxYLVy4UG+99ZYGDx6sWrVqKTQ0VBMnTtSO\nHTsUHR2tn376Sfv27dO0adOeeXzPnDmjbdu2KSQkRFu2bDGe5ta/dy917NxVazZt17otO7R35w6F\n7tltXC86Olo7d+7UrFmznmqzW7du6ty5sw4ePKgePXro6NGjxnlt2rTRrl27FBISoqFDh6pv376S\npPbt22vDhg3GYLl48WI1b95cOXLkeGbtAAAAeDVYzY0WMsrhw4dVvnx5vfPOO5Kkjz/+WP369VN0\ndLQkqXjx4vL29pYktW7dWkFBQbp79648PT01YsQI3bt3Tz4+PnrvvfckSZs3b1Z0dLTWr18v6dHI\nUfny5Y3b8/f3V86cOSVJzs7Oeuedd7Rt2zY1aNBAy5cv19ixY9NtJyQkRBMmTJAkubq6GredntjY\nWIWGhurmzZvGaTExMTpz5ow8PDzk4+Oj5s2bq169elq6dKmcnJxSbcfNzU1//PGH+vXrl2IUKjVt\n2rSRnZ2dcuXKpaZNm2rv3r0q6+6hnw7s063IyP+rIzZG58L+kHfNWsZjnZq7d+/q1KlTxvnVqlVT\n2bJljfOPHTumyZMnKyoqSgaDQefOnZMk5cmTR/Xr19fKlSvVsWNHLVmyxHhsAQAA8GojFL2i/P39\nVb16de3cuVPTpk3TsmXLNH/+fCUnJ+urr75SzZo1U13vcSB6rG3btlqxYoWKFi1qDFuS0m3nRSQl\nJclgMGjXrl3KkiVLinnx8fGSHt1UIX/+/Lpy5coz23F1ddWBAwe0Z88e/fjjj/ryyy+1f/9+2dvb\nP1cdazZvf6qOx/5+nEzx4MEDdezYURs3blSlSpV09epVlSlTxjg/ICBAXbt2Vf78+VWqVCmVKFHi\nubcBAAAAy+P0OTOrVq2afv/9d/3xxx+SHl1LU6FCBTk4OEiSwsPDtX//fkmPTm8rW7ascufOrfPn\nz6tAgQJq166dBg4cqCNHjkiS6tevrzlz5iguLk7So9PAzpw588ztN2rUSPv379esWbPUtm1bGQyG\ndNt57733tGzZMknShQsXtHfv3lTbzp07t+Li4oyn5zk4OMjDwyPF6XyXLl3SX3/9JUmaPXu2EhIS\ntGfPHk2bNs14PY6Dg4Pu3r1rXOfy5cuytbVVw4YNNXbsWN28eVO3b99OtYbvv/9eCQkJio2N1dq1\na/Xee+8pVy4Hub9bQ8Gz/u8mEFcuX9aN63898zg9uU9ly5bVqlWrJElHjhzRyZMnJT0KdgkJCcYR\nrq+//jrFuuXKlVPevHk1ZMgQdenSJd1tAQAA4NVgNSNFGfU8ofz58ys4OFhdunRRQkKC8ufPn+L2\n1mXLltWSJUv0+eefK3v27Jo3b54kae3atVq1apWyZMkig8Gg8ePHS5L69Omj8ePHy9fXVwaDQQaD\nQQMHDlTp0qVT3X6OHDnUoEEDLVu2TL/++qtxelrtjB8/Xt27d9fq1atVtGhReXl5pdp2njx51KJF\nC3l6esrR0VHbtm3TggULNGTIEOOIVK5cuTRr1iydO3dOwcHB2rlzp/Lnz68ZM2aoc+fO2rlzp2rW\nrKlZs2bJy8tLXl5e8vPz08iRIyU9GvXp27evChUqlGoNJUuWVN26dXX79m01adJE9erV0817CZoy\na57GjBimBr4+kqScOXNp/JQZevOtAun22bx589SrVy9NmzZNZcuWVZUqVSQ9CkxDhgxR7dq1lTdv\nXvn7+z+1bocOHfTll1+qXr166W4HAAAArwZDVFRUckYX8bJFRETI2dk5o8vAE+Lj400+/c1UH374\noQIDA58KIOk9iyh/DvP9LyAwMFAlS5ZU7969zbYNczFHH6UlI/vJ3Mz5OygsLEwlS5Y0S9t4eTJD\nP6X30PPM8PDyzNBP1oB+evVlhj7i9DngJbh69arc3d117tw5Tp0DAAB4zby+/4qF1du4cWNGl2BU\nqFAhHT58OKPLAAAAwAvItCNFycmZ7qxAAK8BfvcAAPD6yZShKGvWrIqOjubDCQCLSk5OVnR0tLJm\nzZrRpQAAgOeQKU+fy5cvnyIjI3XnTtoXicJyHj58+MxnBr1sMQ+S0pwflzVT/i/gH7NkH0mZt5+y\nZs2qfPnyZXQZAADgOWTKUGRnZ6cCBdK/9TIsJywsTMWLF7fItqzhjknmYMk+kugnAADw6ng9/xUL\nAAAAAC8JoQgAAACAVSMUAQAAALBqhCIAAAAAVo1QBAAAAMCqEYoAAAAAWDVCEQAAAACrRigCAAAA\nYNUIRQAAAACsGqEIAAAAgFUjFAEAAACwaoQiAAAAAFaNUAQAAADAqhGKAAAAAFg1QhEAAAAAq0Yo\nAgAAAGDVCEUAAAAArBqhCAAAAIBVIxQBAAAAsGqEIgAAAABWzS6jCwAAAHjS4l/upLtMp8pvWKAS\nANaCkSIAAAAAVo1QBAAAAMCqEYoAAAAAWDVCEQAAAACrRigCAAAAYNUIRQAAAACsGqEIAAAAgFUj\nFAEAAACwaoQiAAAAAFaNUAQAAADAqhGKAAAAAFg1QhEAAAAAq0YoAgAAAGDVCEUAAAAArBqhCAAA\nAIBVIxQBAAAAsGqEIgAAAABWjVAEAAAAwKoRigAAAABYNUIRAAAAAKtGKAIAAABg1QhFAAAAAKya\nxUKRm5ubqlWrJm9vb3l7e2vHjh2SpEOHDsnLy0tVq1ZVkyZNdOPGDUuVBAAAAACWHSn69ttvFRoa\nqtDQUNWpU0dJSUkKCAjQV199pSNHjsjT01MjR460ZEkAAAAArJxdRm782LFjsre3l4eHhyTpk08+\nUYUKFTR79uynlo2KitKdO3dSTLO1tZWTk5NFagUAAACQOVk0FHXt2lXJycny8PDQ8OHDFRERIWdn\nZ+P8fPnyKSkpSbdv31aePHlSrDt37lxNmDAhxTQXFxcdP35c4eHhSkhIsMg+4MWFhYVZZDvR0dnT\nqeO6Rep4HVmqjyT66Z+wZD/hxb3u/ZSR79H0tv0yt/+695O1oJ9efa9DH9nZ2alYsWKpz7NUEZs3\nb5aTk5Pu37+vwYMHa8CAAfrwww9NXr9Hjx5q27Ztimm2traS9Mydw6sjLCxMJUuWtMi29sXcSXN+\nyZKMLqbGkn0k0U8vytL9hBeTGfopI9+j6W37ZW0/M/STNaCfXn2ZoY8sFooen+aWLVs2de7cWW3a\ntFH37t0VERFhXCYyMlI2NjZPjRJJkqOjoxwdHS1VLgAAAAArYZEbLcTGxhqvB0pOTtaaNWvk5uam\nSpUqKS4uTgcOHJAkLVq0SP7+/pYoCQAAAAAkWWik6MaNG2rfvr0SExOVlJSk0qVLa/LkybKxsVFw\ncLD69Omj+Ph4ubi4aP78+ZYoCQAAAAAkWSgUubq6KiQkJNV57777rvbv32+JMgAAAADgKRZ9ThEA\nAAAAvGoIRQAAAACsGqEIAAAAgFWz6MNbAQBA5rL4l/SfKdSp8hsWqAQAXhwjRQAAAACsGqEIAAAA\ngFUjFAEAAACwaoQiAAAAAFaNUAQAAADAqhGKAAAAAFg1QhEAAAAAq0YoAgAAAGDVCEUAAAAArBqh\nCAAAAIBVIxQBAAAAsGqEIgAAAABWjVAEAAAAwKoRigAAAABYNUIRAAAAAKtGKAIAAABg1QhFAAAA\nAKwaoQgAAACAVSMUAQAAALBqhCIAAAAAVo1QBAAAAMCqEYoAAAAAWDVCEQAAAACrRigCAAAAYNUI\nRQAAAACsGqEIAAAAgFUjFAEAAACwaoQiAAAAAFaNUAQAAADAqhGKAAAAAFg1QhEAAAAAq0YoAgAA\nAGDVCEUAAAAArBqhCAAAAIBVIxQBAAAAsGqEIgAAAABWjVAEAAAAwKoRigAAAABYNUIRAAAAAKtG\nKAIAAABg1QhFAAAAAKwaoQgAAACAVSMUAQAAALBqhCIAAAAAVo1QBAAAAMCqEYoAAAAAWDVCEQAA\nAACrRigCAAAAYNUIRQAAAACsGqEIAAAAgFUjFAEAAACwaoQiAAAAAFaNUAQAAADAqhGKAAAAAFg1\nQhEAAAAAq0YoAgAAAGDVCEUAAAAArBqhCAAAAIBVIxQBAAAAsGqEIgAAAABWjVAEAAAAwKoRigAA\nAABYNUIRAAAAAKtGKAIAAABg1QhFAAAAAKwaoQgAAACAVSMUAQAAALBqhCIAAAAAVo1QBAAAAMCq\nEYoAAAAAWDVCEQAAAACrRigCAAAAYNUIRQAAAACsGqEIAAAAgFWzeCgaP368HB0ddfLkSUnSoUOH\n5OXlpapVq6pJkya6ceOGpUsCAAAAYMUsGoqOHTumw4cPy9nZWZKUlJSkgIAAffXVVzpy5Ig8PT01\ncuRIS5YEAAAAwMpZLBTdv39f/fv31+TJk43Tjh07Jnt7e3l4eEiSPvnkE61bty7V9aOionTx4sUU\nX5cuXbJI7QAAAAAyLztLbWjs2LFq2bKlihYtapwWERFhHDWSpHz58ikpKUm3b99Wnjx5Uqw/d+5c\nTZgwIcU0FxcXHT9+XOHh4UpISDDvDuAfCwsLs8h2oqOzp1PHdYvU8TqyVB9J9NM/Ycl+wot73fvJ\n1Pdoess9uezL2vaLtPnsdl7vfrIW9NOr73XoIzs7OxUrViz1eZYo4Oeff9Yvv/zyj06N69Gjh9q2\nbZtimq2trSQ9c+fw6ggLC1PJkiUtsq19MXfSnF+ypJNF6njdWLKPJPrpRVm6n/BiMkM/mfoeTW+5\nJ5d9Wdt+kTZTkxn6yRrQT6++zNBHFglF+/bt0x9//KEKFSpIkq5cuaJmzZqpW7duioiIMC4XGRkp\nGxubp0aJJMnR0VGOjo6WKBcAAACAFbHINUV9+vTR6dOn9dtvv+m3335T4cKF9cMPP6h3796Ki4vT\ngQMHJEmLFi2Sv7+/JUoCAAAAAEkWvKYoNTY2NgoODlafPn0UHx8vFxcXzZ8/PyNLAgAAAGBlMiQU\n/fbbb8bv3333Xe3fvz8jygAAAAAAyz+8FQAAAABeJYQiAAAAAFbthUJRXFyc7t+//7JrAQAAAACL\nM+maomHDhqlJkyaqWrWqtm7dqo4dO8pgMGjRokWqX7++uWsEAAAA8AIW/5L2c786VX7DQpW82kwa\nKVq1apXKlCkjSZo4caKCg4O1YsUKjRo1yqzFAQAAAIC5mTRSFBcXpxw5cujWrVu6cOGC8VlCTz54\nFQAAAABeRyaFohIlSuj777/X+fPnVbt2bUlSZGSk7O3tzVocAAAAAJibSaFo8uTJGjRokOzs7DR7\n9mxJ0o4dO4wBCQAAAABeVyaFoipVqmjbtm0pprVs2VItW7Y0S1EAAAAAYCkm35J7165d+vTTT9Wq\nVStJ0i+//KI9e/aYrTAAAAAAsASTQlFwcLD69u2rEiVK6MCBA5Ike3t7jRkzxqzFAQAAAIC5mRSK\n5s6dq3Xr1qlPnz4yGAySpFKlSiksLMysxQEAAACAuZkUimJiYuTk5CRJxlD08OFDZc2a1XyVAQAA\nAIAFmBSKPD09NXXq1BTTgoOD5ePjY5aiAAAAAMBSTLr73MSJE9W6dWt9++23iomJkbu7u3LlyqWV\nK1eauz4AAAAAMCuTQlHBggW1a9cuHTlyRJcuXVKRIkVUtWpV2diYfPM6AAAAAHglmRSKpEfXErm7\nu8vd3d2c9QAAAACARZkUisqVK2e8wcKTsmbNqsKFC6tRo0bq3Lmz7OxMzlgAAAAA8EowKcV069ZN\nK1euVLdu3eTk5KRLly5pwYIFaty4sfLkyaNZs2bp8uXL+vLLL81dLwAAAAC8VCaFouXLl2vt2rUq\nVKiQcdr777+vpk2b6uDBg/Lx8VHjxo0JRQAAAABeOybdKeHatWvKmTNnimk5cuTQ1atXJUlvv/22\n7ty58/KrAwAAAAAzM2mkqF69emrbtq369eunwoUL68qVK5oyZYrq1asnSfr555/l4uJi1kIBAAAA\nmM/iX9Ie5OhU+Q0LVWJ5JoWiadOmafz48QoKCtK1a9dUoEABNWnSRAMGDJAkubq68swiAAAAAK8l\nk0KRvb29Ro4cqZEjR6Y6v0CBAi+zJgAAAACwGJPvof3gwQOFhYUpMjJSycnJxuk1a9Y0S2EAAAAA\nYAkmhaIDBw6oU6dOun//vqKjo+Xg4KCYmBgVKVJEv/76q7lrBAAAAACzMenuc0OGDFHv3r114cIF\n5cqVSxcuXFD//v3VpUsXc9cHAAAAAGZlUig6d+6cevTokWJanz59NGfOHLMUBQAAAACWYlIoyp07\nt+7evStJKliwoE6fPq2oqCjFxsaatTgAAAAAMDeTQlHDhg21fft2SdLHH3+sRo0aqVatWvroo4/M\nWhwAAAAAmJtJN1oYP3688fvAwEC5u7srJiZGderUMVthAAAAAGAJJt+S+0mFChWSwWCQjY1JA00A\nAAAA8MoyKdV07txZP/30kyRp6dKlqlGjhjw8PLRkyRKzFgcAAAAA5mZSKNqzZ48qV64sSZozZ47W\nrVunHTt2aNq0aWYtDgAAAADMzaTT5x48eKCsWbPqypUrun37tmrUqCFJunHjhlmLAwAAAABzMykU\nubm5acqUKYqIiFDdunUlSVeuXJGDg4NZiwMAAAAAczPp9LlZs2bp5MmTiouL07BhwyRJhw4dUosW\nLcxaHAAAAACYm0kjRcWKFdPChQtTTPP395e/v79ZigIAAAAASzEpFK1evVpubm4qXbq0wsLC1Lt3\nb9na2mrKlCkqVaqUuWvM1Bb/cifdZTpVfsMClQAAAKT/2YTPJciMTDp9bvTo0cqTJ48kadiwYapa\ntaq8vLz0+eefm7U4AAAAADA3k0aKIiMj9dZbbyk+Pl4HDx7UkiVLlCVLFhUvXtzc9QEAAACAWZkU\nivLly6fz58/rxIkTqlKlirJly6Z79+4pOTnZ3PUBAAAAgFmZFIr69++vWrVqycbGRt98840kaffu\n3SpfvrxZiwMAAAAAczMpFLVr105NmjSRJOXIkUOSVK1aNS1atMh8lQEAAACABZh0owVJio+P14YN\nGzR9+nRJUkJCghISEsxWGAAAAABYgkmhKDQ0VO7u7lq1apUmTZokSTp37pz69u1r1uIAAAAAwNxM\nCkWDBw/WN998ox9++EG2traSJHd3dx09etSsxQEAAACAuZkUiv7880/VrFlTkmQwGCRJWbNm5fQ5\nAAAAAK89k0LRO++8ox07dqSYtnv3bpUtW9YsRQEAAACApZh097nRo0erVatWqlu3ruLj4xUUFKQt\nW7Zo+fLl5q4PAAAAAMzKpFBUrVo1hYaGatWqVcqVK5eKFCmiHTt2qEiRIuauDwAAAADMyqRQJEmF\nCxfWZ599Zs5aAAAAAMDiTApFd+7cUXBwsI4fP67Y2NgU89auXWuWwgAAAADAEkwKRZ06dVJiYqIa\nNmwoe3t7c9cEAAAAABZjUig6fPiwzp07p6xZs5q7HgAAAACwKJNuyV2jRg398ccf5q4FAAAAACzO\npJGiOXPmqEWLFnJ3d9ebb76ZYt7AgQPNUhgAAAAAWIJJoWjUqFG6fPmyXFxcdPfuXeN0g8FgtsIA\nAAAAwBJMCkVr1qzR4cOHVbBgQXPXAwAAAAAWZdI1RUWLFlWWLFnMXQsAAAAAWJxJI0WtW7dWmzZt\nFBAQ8NQ1RTVr1jRLYQAAAABgCSaFogULFkiSvvzyyxTTDQaDfv3115dfFQAAAABYiEmh6Pjx4+au\nAwAAAAAyhEnXFD1p9erV5qgDAAAAADKESSNFT+rTp4+aN29ujloA4CmLf7mT7jKdKr9hgUoAAEBm\n9dwjRcnJyeaoAwAAAAAyxHOHIg8PD3PUAQAAAAAZwqRQtG7dOuP3q1atMn6/fv36l18RAAAAAFiQ\nSaEoMDAw1emfffbZSy0GAAAAACwtzRstXLhwQZKUlJRk/P7Jefb29uaqCwAAAAAsIs1QVLlyZRkM\nBiUnJ6ty5cop5hUoUEADBw40a3EAAAAAYG5phqLbt29Lkho0aKBNmzZZpCAAAAAAsCSTrilaunRp\nqtPDw8NfajEAAAAAYGkmPbzV09NTM2fOlJ+fn3Ha119/rTFjxuj8+fNmKw4AAMDSeGi09aLvrZdJ\noWjmzJnq3bu3GjRooF69emnAgAG6evWqNmzYYO76AAAAAMCsTDp9zs/PT/v379eBAwfk7u6uvHnz\nateuXSpfvry56wMAAAAAszIpFMXExGjYsGG6e/euevbsqW3btmn58uXmrg0AAAAAzM6kUOTl5aWH\nDx9q3759Gj16tDZs2KD58+erVatW5q4PAAAAAMzKpFA0cuRIzZ8/X2+88ejCsgoVKmjnzp0qUaKE\nWYsDAAAAAHMzKRQ1adJEkpSUlKRr165Jkuzt7TV27FiTN9S2bVt5eXnJx8dH9evX1/HjxyVJZ8+e\nlZ+fn6pWrSo/Pz+dO3fuefcBAAAAAF6YSaEoKipKXbp0UYECBVSlShVJ0qZNmzR69GiTNzR37lzt\n27dPISEh+vTTT/Xpp59Kkvr06aMuXbroyJEj6tKli4KCgl5gNwAAAADgxZgUivr27avcuXPrt99+\nU5YsWSRJ1atX15o1a0ze0ONT7yTp7t27srGx0Y0bN/Trr7+qefPmkqTmzZvr119/1c2bN59aPyoq\nShcvXkzxdenSJZO3DwAAAACpMek5RXv27NHp06eVJUsWGQwGSVL+/PlTDS9pCQwM1K5du5ScnKzV\nq1fr8uXLKly4sGxtbSVJtra2KlSokC5duqT8+fOnWHfu3LmaMGFCimkuLi46fvy4wsPDlZCQ8Fy1\nvCqio7Onu0xY2HULVGJ+YWFhFtlOesc0sxxPc7BUH0mm95M1vUdMZcl+wot73fspI9+jlnzfp9ZP\n1v5751X8O/qqfIaQ/m//t1xNe9l6heJeSk3/1PP05z/p+9fhd56dnZ2KFSuW+jxTGsidO7ciIyNV\nsGBB47SIiAgVKFDguQqZOXOmJOm7777Tv//9bw0dOtTkdXv06KG2bdummPY4TD1r514H+2LSf3Jy\nyf/X3r2HR1HffR//7G4g4eBNwqkhIUEqwQMkokGFBHrZW0GRVjlXESxSRCNIoQq3l1AePFQKqNj6\ntBz6GLXKA0gQfOQWtCIqRxWUU7EScgMSEyFBgomEQHb3+YMSspDD5DA7szvv13Vxmf1l9jffmV9m\nko8zO7+kjkGoxFzZ2dlKSkoKyrpq26fhsD/NEMwxkoyPk1OOEaOCPU6on3AYJyuP0WAd99WNk9PP\nO3b7PWqnvyEk4z/7dvkZqUud9d2mcDjnGbp97r777tN9992nTz75RD6fT5999pkyMjJ0//3312ul\nd999tzZu3Ki4uDjl5eXJ6/VKkrxer/Lz89Wx46U7PDo6Wp06dQr4V9VyAAAAAFAXhkLR5MmTNXjw\nYE2dOlXl5eWaOHGi7rjjDmVkZBhaSUlJScDnf9auXauYmBi1a9dOycnJysrKkiRlZWUpJSXlklvn\nAAAAAMAshm6fO3bsmDIyMi4JQUePHjV0C92pU6c0ZswYnTp1Sm63WzExMVq6dKlcLpfmz5+vjIwM\nzZ07V9HR0Vq4cGH9tgQAAAAA6sFQKOrZs6eOHDlySftNN92kQ4cO1fr+9u3b64MPPqjye127dtX6\n9euNlAEAAAAAjc7Q7XN+v/+StvOP1QYAAACAUFbjlaJu3brJ5XKptLRU3bt3D/je999/r6FDh5pa\nHAAAAACYrcZQtGjRHX25QAAAIABJREFUIvn9fo0YMSLgsz4ul0vt27cP+UfvAQAAAECNoahPnz6S\npJycHDVv3jwoBQGh7tUva37G/5jrWgWpEgAAABhh6ENBBCIAAAAA4YonJQAAAABwNEIRAAAAAEcj\nFAEAAABwNMOhKC0tTZK0c+dO04oBAAAAgGCrMRTNmDFDK1as0Ndff628vDxJ0qBBg4JSGAAAAAAE\nQ42h6KqrrtJnn32mCRMmqKSkRFOnTpXP59PZs2eDVR8AAAAAmKrGUDRq1CjNmzdPH3zwgVq0aKGb\nbrpJpaWl6t69u372s59p0qRJwaoTAAAAAExR4+St3bt3V0pKinr06CGfz6c777xTjz76qL7++msd\nOnRIu3fvDladAAAAAGCKGq8Uffrpp3rkkUfUsmVLlZWVKT09XWVlZVq1apW8Xq/uvPPOYNUJAAAA\nAKaoMRS1aNFCvXv31sMPP6zmzZvrH//4hzwejzZu3KgHHnhASUlJwaoTAAAAAExR4+1zlf3yl79U\ndHS0IiIi9MILL0iSysvLTSsMAAAAAILB8DxFL730kiRp4cKFFW0REYYzFQAAAADYkuFQdN6AAQPM\nqAMAAAAALFHnUAQAAAAA4YRQBAAAAMDR+FAQANjYq1+eDHhdXNxMm0sutI25rlWwSwIAmOTic/7F\nOOebhytFAAAAAByt2itFRh+osHbt2kYrBgAAAACCrdpQNHr06IqvDx48qCVLluiee+5RQkKCcnNz\ntXTpUt17771BKRIAAAAAzFJtKBo5cmTF17feeqtWrlypq6++uqJt2LBhmjhxop544glzKwQAAAAA\nExn6TNH+/fvVuXPngLZOnTpp//79phQFAAAAAMFiKBSlpaXp4YcfVk5OjkpLS3XgwAE98sgj6t27\nt9n1AQAAAICpDIWiBQsWSJJ69eqluLg4paWlye/3669//aupxQEAAACA2QzNUxQTE6PMzEz5fD4V\nFhaqbdu2crt5mjcAAACA0Gd48tb9+/dr9erVKigo0Lx585Sdna2ysjJ1797dzPoAAAAAwFSGLves\nXr1aAwYMUH5+vpYtWyZJKikp0fTp000tDgAAAADMZigUPfvss1q9erXmz59fcdtc9+7dtXfvXlOL\nAwAAAACzGQpFBQUFFbfJuVyuiv+e/xoAAAAAQpWhUNSjR4+K2+bOW7lypVJTU00pCgAAAACCxdCD\nFubMmaMhQ4bo9ddf16lTpzRkyBAdOHBAq1atMrs+AAAAADCVoVDUtWtXffbZZ3rvvfd0++23Kz4+\nXrfddptatmxpdn0AAAAAYCpDt89NmzZNzZs31+DBgzVp0iQNHTpULVu21OOPP252fQAAAABgKkOh\naOnSpVW2L1++vFGLAQAAAIBgq/H2uddff12SVF5eXvH1eYcPH1abNm3MqwwAAAAAgqDGUHT+StCZ\nM2cCrgq5XC61b99eCxYsMLc6AAAAADBZjaFozZo1kqRnnnlGM2bMCEpBAAAAABBMhj5TlJaWpgMH\nDgS0ZWdna8OGDaYUBQAAAADBYigUPfbYY5c8frtly5Z67LHHTCkKAAAAAILFUCgqLCxUbGxsQFts\nbKyOHTtmSlEAAAAAECyGQlGnTp308ccfB7Rt3LhRiYmJphQFAAAAAMFS44MWznv88cc1evRojR49\nWp07d9bBgwe1ZMkS/eUvfzG7PgAAAAAwlaFQNHDgQK1atUpvvPGG3n//fcXHx+utt97S9ddfb3Z9\n9fbqlydrXWbMda0s7xMAAACAtQyFIklKTU1VamqqmbUAAAAAQNAZ+kxRWVmZnn76aV177bUVnyP6\n8MMPtXjxYlOLAwAAAACzGQpFTzzxhPbt26e//e1vFW1XXXWVMjMzTSsMAAAAAILB0O1za9as0Rdf\nfKEWLVrI7T6Xo+Li4pSXl2dqcQAAAABgNkNXipo0aaLy8vKAtsLCQrVu3dqUogAAAAAgWAyFokGD\nBikjI0OHDh2SJH333XeaOnWqhg4damZtAAAAAGA6Q6Fo5syZ6tSpk9LT03Xy5EmlpqYqNjZW//Vf\n/2V2fQAAAABgKkOfKWratKlmz56t2bNnq7CwUG3atJHL5TK7NgAAAAAwneF5inJycrRq1Sp99913\nio2N1eDBg3XFFVeYWRsAhCUmgoYdeHMPyXvgX5LfV+X3O31TWuP7zxQ1M7Rc5WWNMqPPqkQdPaYz\nudmWrd+ujI59XWyupc/0xOr7rG6czFCXsTdjP1ndZ33XH8wxqkqT3j+XK6phx6ShULRixQpNnjxZ\n/fv3V0JCgvbt26cXX3xR8+fP1/DhwxtUAAAACK6zn29S6YuzJL+/2mVqm679tMHlKi9rlBl9VqVV\nNf0Ea/12ZXTsg9VndeNkhrqMvd32U2P0Wd/1B3OMqhKRnBqcUPTMM8/ozTffVHp6ekXbli1b9OCD\nDxKKAAAIIf6zZ3T6tf9dYyACAKcx9KCFkpIS3XjjjQFtN9xwg06dOmVKUQAAwBxnP3lP/u8LrC4D\nAGzF0JWiCRMm6KmnntL06dMVFRWl0tJSzZ49WxMmTDC7PgAA0Ej85WdV9vb/DWjzdLla7o6dLlk2\n+/jZGvtKatPE0HKVlzXKjD6r8sPJH/Qfrf7DsvXbldGxD1af1Y2TGeoy9nbbT43RZ33XH8wxqlJk\nVIO7MBSKXn75ZR09elQLFy5UdHS0ioqK5Pf7FRsbq8zMzIrl9u7d2+CCAACAOc5u/If8hccuNEQ0\nUbPJ/0vu1u0uWfaLWh4IkvLvh4HUtlzlZY0yo8+q5GZn6ydJSZat366Mjn2w+qxunMxQl7G3235q\njD7ru/5gjpFZDIWiRYsWmV0HAAAwkb+8XGWrA68SNfn5gCoDEQA4jaFQ1KdPnyrbz549qyZNwvfy\nMQAA4eLslvXyF+RfaPBEKPLOe6wrCABsxNCDFgYNGqTvvvsuoG3v3r26+eabzagJAAA0Ir/XqzOr\nlwS0Nbn5drnbtLeoIgCwF0NXiq699lr16dNH8+bN06BBg/Tiiy/qT3/6k2bOnGl2fQhBVU1MWVzc\nTJtLLrSfn5iytkksmcDSPBfv+4vHSGL/A+GifOsG+b779kKDxxM2V4n4PQI4jxnHvaFQ9OSTT+q2\n227TQw89pJkzZ6pDhw768MMP9dOf/rTOKwQAAMHj93lVdvFVor795W4Xa1FFAGA/hm6fk6TDhw+r\nuLhYbdu21Y8//qjTp8N5LmcAAMJD+baP5cv75kKD263Iu0ZaVxAA2JChUHTffffphRde0MqVK7Vh\nwwaNGTNGd9xxh/785z+bXR8AAKgnv8+nslVvBLQ16XOr3D+Js6giALAnQ6GoXbt2+uSTT3T99ddL\nkh544AF98MEHevvtt00tDgAA1F/55xvl+/bwhQaXW025SgQAlzD0maLnn3/+krYuXbro/fffb/SC\nAABAw1V5lSjt5/J0SLCoIgCwrxqvFE2bNi3g9d///veA12PGjGn0ggAAQMOV79gi3zf/c6HB5VLT\nQaOsKwgAbKzGULR06dKA1xc/gvujjz5q9IIAAEDD+P1+la16PaAtotfN8sQnWlQRANhbjaHI7/fX\n+BoAANhP+Zfb5Dt0IKAtcjBXiQCgOjV+psjlctX4GgAA2Ivf71fZWxddJbrxZ/J0vNyagmyktkmr\nmegVcK4aQ1F5ebk++eSTiitEXq/3ktcAAMA+vLs/l+9/vg5o4yoRANSsxlDUtm1bTZw4seJ1TExM\nwOu2bduaVxkAAKgTv9+vspWBD0WK6JkuT6crLKoIAEJDjaFoz549waoDAAA0kHfvDnkPfBXQxlUi\nAKidoclbAQCAvZ27SnTRZ4mu7y1P564WVQQAoSMooej777/X8OHD1bNnT6WlpWnUqFEqLCyUJH3+\n+edKT09XamqqBg8erIKCgmCUBABAWCn/fJO8+/cGtHGVCACMCUoocrlcmjRpkrZv364tW7aoc+fO\nmjVrlnw+n8aPH6/nnntOO3bsUFpammbNmhWMkgAACBu+4pM6nfliQJvn2hvkueIqiyoCgNASlFAU\nExOjvn37Vrzu2bOnjhw5op07dyoqKkq9e/eWJI0dO1arV6+uso+ioiIdPnw44F9ubm4wygcAwNbK\nXv+r/D8UXWjwRCjqnvHWFQQAIabGBy2YwefzKTMzUwMGDNCRI0eUkJBQ8b02bdrI5/PpxIkTiomJ\nCXjfggULNGfOnIC2xMRE7d69WwcPHlR5eXnA94qLm9VaS3b2sTrVHip9Wq26bSouLq74+vw21bb9\n9dl2M/oMpfUbVVWdlcdIMrdWo/vJScdIZTVtf1XH0rr82vu8vUOp0RLRCLKzs4OynqZf71bMpg8C\n2kp+NkBHy7xSA2qw8hht6DFS3bqNHk+hct4x67i34+/mYB1PZv3sNdb6ze6zIesP1hhJ9a8zIiJC\nnTt3rvp7Da6qjqZNm6YWLVpo/Pjxeueddwy/LyMjQyNHjgxo83g8klTlxlWejK06SUkdDa8/lPq0\nWlXbVFxcrMsuu6zi9fltqm3767PtZvQZSus36uI6Lx4jydxaje4npxwjF6tu++t7LFVeFubLzs5W\nUlKS6evx/1iikheny1+pzZ34U3W4f4JcEU0a1LeVx2hDjpGa1h1ux5NZddrtd3OwjifJvJ+9xlq/\n2X3Wd/3BHCPJnP0U1FA0Y8YM5eTkaNmyZXK73UpISNCRI0cqvn/8+HG53e5LrhJJUnR0tKKjo4NZ\nLgAAtnZ6yQL5Txy/0OB2q9mDUxsciADAaYL2SO6nnnpKO3fu1JIlSxQZGSlJ6tGjh0pLS7V161ZJ\nUmZmpu66665glQQAQMgq371dZz9aF9DW9Jd38whuAKiHoFwp+uqrr/TCCy+oS5cu6t+/vySpU6dO\nWrJkiRYtWqQpU6bo9OnTSkxM1OLFi4NREgAAIctfekql/+f5gDZ3fKIih4y2qCIACG1BCUVXX321\nioqKqvzeTTfdpC1btgSjDAAAwsLppX+Tv7DSB4ldbkU9OE2uJk2tKwoAQljQbp8DAAANV/7PL3X2\ng/8X0Nb0jmGK6HK1RRUBQOgjFAEAECL8p0tV+reLbpuLjVfk8DHWFAQAYYJQBABAiCh7M1P+Y/kX\nGlwuRY1/TK6mkdYVBQBhIOjzFAGh6NUva5+3YMx1rSxbv5nrhnGME8xU/vVenXlvVUBb0/6DFHFV\niuE+rD6XhSOOeyA8cKUIAACb858p0+nF8yT/hWlaXe06KPJXv7GwKgAIH4QiAABsrmzla/Ll5wa0\nNXvgd3JFNbOoIgAIL9w+BwCATfnPntHZrRt0Zs2KgPYm/zlQEd2vt6gqAAg/hCIAAGzGdzRPZz78\nb539eJ38PwTO8+dq3U5RIx+0qDIACE+EIgAAbMDv9ar8i606s36NvLs/r3a5Zg/8Tq7mLYJYGQCE\nP0IRAAAW8h0v0JkN7+rshv+W/8TxGpeNHDFWEdfeGKTKAMA5CEUAAASJv7xc/sKj8h3Nk+/otyrf\ns0PlX2yT/L7q39S8hZr27a8mt/xCno6XB61WAHCSsAhF/jNnLmlzl1/aZuR9NQmVPq1W1Ta5y88E\ntJ/fptq2vz7bbkWflfsN1W26eIzq2299138xo/uz8rJWM2ObahunUNxPoct/7pHYlR6LfeG1X/Kr\n4mvPsTyd/aFAvu++le9YnnzfnQtB/sKjkq+GAFSJ+4qr1PSWX6pJ75vliowyY4MAAP8WFqGo5LEx\n537RVDLIwPuK67ieUOnTanXZptqWrc+2W9Fn5X7DcZvMYHSbrK6zLszYpnDcT07QVlJpfd4YGaUm\n6beo6S2/kKdz10auCqGCCWGB4AuLUAQAQChzJ/703FWh9Ft4iAIAWIBQBABAELmi28j9kw5y/yRe\n7th4ebpdJ0+Xq+VyuawuDQAcKzxCUZMm5/5V4jVwy7bHXbfVhEqfVqvLNtW2bH223Yo+K/cbjttk\nRp9GtymUjhEztikc91Noc0muf/+TKn3tklwXvu9t0kRN4y+XOzZO7vZxcsfGy/2TOLnbd5ArqpmF\n9QMAqhIWoeiy51+7pK22+3Glut+TGyp9Wq2qbSouLtZll11W8fr8Nplx37QVfVbuN1S36eIxqk+/\nZuynUDpGzNim2sYpFPeTE2RnZyspKcnqMgAABvH/DQEAAAA4GqEIAAAAgKMRigAAAAA4GqEIAAAA\ngKOFxYMWAADmYBJJANUJ1gOoioubaXPJhXbOOzADV4oAAAAAOBqhCAAAAICjEYoAAAAAOBqhCAAA\nAICjEYoAAAAAOBqhCAAAAICjEYoAAAAAOBrzFAEAHIW5lwAAF+NKEQAAAABHIxQBAAAAcDRCEQAA\nAABHIxQBAAAAcDRCEQAAAABHIxQBAAAAcDRCEQAAAABHIxQBAAAAcDQmb3W42iYxlJjIEIAzWX1+\nNDrJrNV1AkA44EoRAAAAAEcjFAEAAABwNEIRAAAAAEcjFAEAAABwNEIRAAAAAEcjFAEAAABwNEIR\nAAAAAEcjFAEAAABwNCZvDSFGJ/IDgHDApKQAEPpC5e9XrhQBAAAAcDRCEQAAAABHIxQBAAAAcDRC\nEQAAAABHIxQBAAAAcDRCEQAAAABHIxQBAAAAcDRCEQAAAABHC4vJW7P++YNKzvgl2WcCKADhgQlE\njWE/AUDVOD8aY/V+4koRAAAAAEcjFAEAAABwNEIRAAAAAEcjFAEAAABwNEIRAAAAAEcjFAEAAABw\nNEIRAAAAAEcLi3mKAFxQ23P+6/OMfzP6BAAED+dxoGZcKQIAAADgaIQiAAAAAI5GKAIAAADgaIQi\nAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI7G5K1hKtwm8Kxt3fVdP5PZAQCCwazf\nYwAaB1eKAAAAADgaoQgAAACAoxGKAAAAADgaoQgAAACAoxGKAAAAADhaUELRjBkzlJKSoujoaO3b\nt6+i/cCBA+rXr59SU1PVr18/5eTkBKMcAAAAAKgQlFA0cOBAvfvuu0pISAhonzJlisaNG6cdO3Zo\n3Lhxmjx5cjDKAQAAAIAKQZmnqHfv3pe0FRQUaNeuXVq9erUkadiwYZo6daoKCwvVtm3bS5YvKirS\nyZOBz/j3eDzq2LGjOUUDAAAAcATLJm/99ttvFRcXJ4/HI+lcwOnQoYNyc3OrDEULFizQnDlzAtoS\nExO1e/dulZT8qOIyryQpO/uYJKm4uFmtNZxf1iir+6xt2crrNrqsGeuvbrni4uJG77Mhddph/UYF\na5sqj1Fty9ZnObP7NIPV21TbOJm9n8zYpnX5NS97e4fSOvdZF8H62cvOzq5bYRex4riry7J2+X3b\n0PNjQ4+nUDk/hsrvxrr8DWGGUBono8wY+6q/V/U5z077KSIiQp07d676e7Wu3SYyMjI0cuTIgLbz\ngaplyxZSU78kKSnp3JWjzSW1zxx9flmjrO6ztmUrr9vosmasv6rliouLddlllzVqnw2t0w7rNyoY\n23TxGNW0rNE+G7KsmcdyXVi9TbWNk9n7KRzHPhjrz87OVlJSUp1rq8yKfV+XZe3y+7Yh58fGOJ5C\n5RgJld+NdfkbwgyhNE5GmTH2F6vpnBcq+8myUBQfH6+8vDx5vV55PB55vV7l5+dXeztcdHS0oqOj\ng1wlAAAAgHBn2SO527Vrp+TkZGVlZUmSsrKylJKSUuWtcwAAAABglqCEomnTpumaa65RXl6eBg0a\npF69ekmS5s+fr8WLFys1NVWLFy/W/Pnzg1EOAAAAAFQIyu1zc+fO1dy5cy9p79q1q9avXx+MEgAA\nAACgSpbdPgcAAAAAdkAoAgAAAOBohCIAAAAAjhYy8xQBQG1e/bLmeQvGXNcqSJUAAIBQwpUiAAAA\nAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI7GPEVibhMAAADA\nybhSBAAAAMDRCEUAAAAAHI1QBAAAAMDRCEUAAAAAHI1QBAAAAMDRCEUAAAAAHI1QBAAAAMDRCEUA\nAAAAHI3JW03ChLCAvXGMojFd/PNUXNxMm0sutPHzdA7HHQC74koRAAAAAEcjFAEAAABwNEIRAAAA\nAEcjFAEAAABwNEIRAAAAAEcjFAEAAABwNEIRAAAAAEcjFAEAAABwNCZvBSxS2ySGEhMZwhzh+LPH\npKAAgIbgShEAAAAARyMUAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEAAAAA\nRyMUAQAAAHA0Jm8FAAAAYNjFE2YXFzfT5pLAtlCbNJsrRQAAAAAcjVAEAAAAwNEIRQAAAAAcjVAE\nAAAAwNEIRQAAAAAcjVAEAAAAwNEIRQAAAAAcjXmKAAAAEHIunivnYqE2Tw6sxZUiAAAAAI5GKAIA\nAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5G\nKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAA\nAI4WYXUBAAA4xatfnqx1mTHXtQpCJYBzcNzBCK4UAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEAAAAA\nRyMUAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEAAAAARyMUAQAAAHA0QhEA\nAAAARyMUAQAAAHA0W4SiAwcOqF+/fkpNTVW/fv2Uk5NjdUkAAAAAHMIWoWjKlCkaN26cduzYoXHj\nxmny5MlWlwQAAADAISKsLqCgoEC7du3S6tWrJUnDhg3T1KlTVVhYqLZt21YsV1RUpJMnTwa81+Px\nqGPHjmrexHVJvy2bXtpWHaPLhkqfVq+/yuUiPVW2s58at88Grb+aMWpQn42wrO32k9V9NvBYMmvZ\nUOkzaOsP4jiF9H4KYp9VLhvi4+SYsedviAZx8t8QdeEqKiryN3qvdbBz50499NBD2rZtW0XbTTfd\npEWLFqlHjx4VbbNnz9acOXMC3turVy+tW7cuaLUCAAAACD+2uH3OiIyMDO3atSvg38yZM3X77bcr\nNzfX6vJQg9zcXKWkpDBONsYYhQbGKTQwTqGBcQoNjJP9hcsYWX77XHx8vPLy8uT1euXxeOT1epWf\nn6+OHTsGLBcdHa3o6OhL3r9t2zZ5vd5glYt68Hq9+uabbxgnG2OMQgPjFBoYp9DAOIUGxsn+wmWM\nLL9S1K5dOyUnJysrK0uSlJWVpZSUlIDPEwEAAACAWSy/UiRJ8+fPV0ZGhubOnavo6GgtXLjQ6pIA\nAAAAOIQtQlHXrl21fv16q8sAAAAA4ECexx9/fJbVRTREZGSk+vTpo6ioKKtLQQ0YJ/tjjEID4xQa\nGKfQwDiFBsbJ/sJhjCx/JDcAAAAAWMnyBy0AAAAAgJUIRQAAAAAcjVAEAAAAwNFCNhQdOHBA/fr1\nU2pqqvr166ecnByrS4KkGTNmKCUlRdHR0dq3b19FO+NlH99//72GDx+unj17Ki0tTaNGjVJhYaEk\n6fPPP1d6erpSU1M1ePBgFRQUWFyts40cOVLp6enq27evBgwYoN27d0vieLKrP/7xjwHnPo4ne0lO\nTtYNN9ygPn36qE+fPhVPvWWc7OP06dP63e9+p+uvv15paWn67W9/K4lznp0cPny44hjq06ePkpOT\ndfnll0sK/XEK2VA0ZcoUjRs3Tjt27NC4ceM0efJkq0uCpIEDB+rdd99VQkJCQDvjZR8ul0uTJk3S\n9u3btWXLFnXu3FmzZs2Sz+fT+PHj9dxzz2nHjh1KS0vTrFmzrC7X0RYsWKDNmzdr48aNmjhxoiZO\nnCiJ48mOdu7cqe3bt1ec+zie7Om1117Tpk2btGnTJt1yyy2Mk83MnDlTkZGR2rFjh7Zs2aLp06dL\n4pxnJ506dao4hjZt2qSBAwdq+PDhkkJ/nEIyFBUUFGjXrl0aNmyYJGnYsGHatWtXxf/thnV69+6t\njh07BrQxXvYSExOjvn37Vrzu2bOnjhw5op07dyoqKkq9e/eWJI0dO1arV6+2qkxIatWqVcXXP/zw\ng9xuN8eTDZWVlWnq1Kl6/vnnK9o4nkID42QfJSUlWrZsmaZPny6XyyVJat++Pec8Gztz5oxWrFih\ne++9NyzGKSRD0bfffqu4uDh5PB5JksfjUYcOHZSbm2txZagK42VfPp9PmZmZGjBggI4cORJwha9N\nmzby+Xw6ceKEhRXikUceUffu3fXMM89owYIFHE829Oyzz2rEiBHq1KlTRRvHkz098MADSktL06OP\nPqqioiLGyUYOHjyo1q1ba86cObr55ps1cOBAbd26lXOeja1du1YdOnRQjx49wmKcQjIUAWgc06ZN\nU4sWLTR+/HirS0E1XnrpJe3du1e///3vNXPmTKvLwUU+++wzffnllxo3bpzVpaAWa9eu1ebNm7Vh\nwwb5/X5NmzbN6pJQidfr1aFDh5SSkqKPPvpITz75pEaPHq2SkhKrS0M13njjDY0aNcrqMhpNSIai\n+Ph45eXlyev1Sjp3IOXn519y2xbsgfGypxkzZignJ0evvPKK3G63EhISdOTIkYrvHz9+XG63WzEx\nMRZWifPuvvtubdy4UXFxcRxPNrJ582bt379fKSkpSk5OVl5enoYOHaqDBw9yPNnM+WMkMjJSv/nN\nb7Rt2zbOezaSkJCgiIiIituvevbsqTZt2qhZs2ac82woLy9Pmzdv1ogRIySFx996IRmK2rVrp+Tk\nZGVlZUmSsrKylJKSorZt21pcGarCeNnPU089pZ07d2rJkiWKjIyUJPXo0UOlpaXaunWrJCkzM1N3\n3XWXlWU6WklJScBtB2vXrlVMTAzHk81MmTJF//rXv7Rnzx7t2bNHcXFxWrlypSZNmsTxZCM//vij\nTp48KUny+/166623lJyczHnPRtq0aaO+fftqw4YNks49yaygoEBXXHEF5zwbWrp0qfr376/WrVtL\nCo+/9VxFRUVNbSR9AAADq0lEQVR+q4uoj/379ysjI0NFRUWKjo7WwoULlZSUZHVZjjdt2jStWbNG\nR48eVZs2bdS6dWtt27aN8bKRr776Sr1791aXLl0UFRUl6dzTZJYsWaJPP/1UU6ZM0enTp5WYmKjF\nixerffv2FlfsTMeOHdPIkSN16tSpiv9z/fTTT6tHjx4cTzaWnJys5cuX65prruF4spFDhw5p9OjR\n8nq98vl8uvLKKzVnzhzFxsYyTjZy6NAhTZgwQSdOnFBERIR+//vfq1+/fpzzbCg1NVVz5szRrbfe\nWtEW6uMUsqEIAAAAABpDSN4+BwAAAACNhVAEAAAAwNEIRQAAAAAcjVAEAAAAwNEIRQAAAAAcjVAE\nAAAAwNEIRQCAkJCcnKzY2Fh17NhRiYmJ6t+/vzIzM+Xz+awuDQAQ4ghFAICQsWzZMuXm5mrPnj2a\nPHmyXnzxRU2cONHqsgAAIY5QBAAIOa1atdIdd9yhV155RUuXLtW+ffv03nvvqW/fvkpISFC3bt00\ne/bsiuVHjBihRYsWBfSRlpamd955J9ilAwBsiFAEAAhZqampio+P19atW9W8eXMtXLhQhw8f1vLl\ny5WZmak1a9ZIku655x69+eabFe/bs2eP8vPzddttt1lVOgDARghFAICQFhsbqxMnTqhv377q1q2b\n3G63unfvrqFDh2rz5s2SpAEDBujAgQPKycmRJC1fvlxDhgxR06ZNrSwdAGAThCIAQEjLz89XTEyM\ntm/frl/84he64oorlJiYqFdeeUXHjx+XJEVFRWnIkCFavny5fD6fVq5cqV/96lcWVw4AsAtCEQAg\nZH3xxRfKy8tTr169NG7cOA0YMED//Oc/9c033+j+++8PWPaee+7RihUr9PHHH6tZs2a68cYbLaoa\nAGA3hCIAQMj54YcftG7dOo0dO1YjRoxQt27dVFJSopiYGEVFRWnHjh3KysoKeM+NN94ot9ut6dOn\nc5UIABDAVVRU5Le6CAAAapOcnKyCggJFRETI7Xbryiuv1IgRIzR27Fh5PB69/fbbmj59uoqKipSe\nnq7ExESdPHlSixcvruhj3rx5+sMf/qCdO3fq8ssvt25jAAC2QigCADjG0qVL9dprr2ndunVWlwIA\nsBFunwMAOMKpU6f08ssv69e//rXVpQAAbIZQBAAIe+vXr1eXLl3Url07DR8+3OpyAAA2w+1zAAAA\nAByNK0UAAAAAHI1QBAAAAMDRCEUAAAAAHI1QBAAAAMDRCEUAAAAAHO3/A16/72E4k0EMAAAAAElF\nTkSuQmCC\n",
            "text/plain": [
              "<Figure size 900x648 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "cgCrDy8M3IZT"
      },
      "source": [
        "Our analysis shows strong support for believing the user's behavior did change ($\\lambda_1$ would have been close in value to $\\lambda_2$ had this not been true), and that the change was sudden rather than gradual (as demonstrated by $\\tau$'s strongly peaked posterior distribution). We can speculate what might have caused this: a cheaper text-message rate, a recent weather-to-text subscription, or perhaps a new relationship. (In fact, the 45th day corresponds to Christmas, and I moved away to Toronto the next month, leaving a girlfriend behind.)\n",
        "\n",
        "\n",
        "## Exercises\n",
        " \n",
        "1.   Using `lambda_1_samples` and `lambda_2_samples`, what is the mean of the posterior distributions of $\\lambda_1$ and $\\lambda_2$?\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "ddpQzca9ACJF",
        "colab": {}
      },
      "source": [
        "#type your code here."
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "p4krLq5J_356"
      },
      "source": [
        "2.   What is the expected percentage increase in text-message rates? `hint:` compute the mean of `lambda_1_samples/lambda_2_samples`. Note that this quantity is very different from `lambda_1_samples.mean()/lambda_2_samples.mean()`"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "qWoCGbmEAEvb",
        "colab": {}
      },
      "source": [
        "#type your code here."
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "vGHVkSlp_9zf"
      },
      "source": [
        "3. What is the mean of $\\lambda_1$ **given** that we know $\\tau$ is less than 45? That is, suppose we have been given new information that the change in behaviour occurred prior to day 45. What is the expected value of $\\lambda_1$ now? (You do not need to redo the TFP part. Just consider all instances where `tau_samples < 45`.)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "lKYX1MKHgsm0",
        "colab": {}
      },
      "source": [
        "#type your code here."
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "nDdph0r1ABCn"
      },
      "source": [
        "## References\n",
        "\n",
        "[1] Gelman, Andrew. N.p.. Web. 22 Jan 2013. [N is never large enough](http://andrewgelman.com/2005/07/31/n_is_never_larg)\n",
        " \n",
        "[2] Norvig, Peter. 2009. [The Unreasonable Effectiveness of Data](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35179.pdf).\n",
        "\n",
        "[3] Jimmy Lin and Alek Kolcz. Large-Scale Machine Learning at Twitter. Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD 2012), pages 793-804, May 2012, Scottsdale, Arizona.\n",
        "\n",
        "[4] Cronin, Beau. \"Why Probabilistic Programming Matters.\" 24 Mar 2013. Google, Online Posting to Google . Web. 24 Mar. 2013. <https://plus.google.com/u/0/107971134877020469960/posts/KpeRdJKR6Z1>."
      ]
    }
  ]
}